Jak otworzyć czysty terminal w Mac OS X Lion?

10

Ilekroć otwieram terminal, pojawiają się ostatnio używane polecenia.

Chciałbym uzyskać czysty terminal, gdy go otworzę, ale nie znalazłem, jak to zrobić.

Na przykład jeśli podczas korzystania z terminala:

defaults write com.apple.Finder...etc

a następnie zamykam terminal. Następnym razem, gdy otworzę terminal, zobaczę tę samą linię wyszarzoną (aby wskazać, że jest to polecenie, której użyłem ostatnim razem, gdy otworzyłem terminal) i wiersz, aby zacząć pisać pod spodem.

Proxify
źródło
Czy możesz podać przykład tego, co widzisz po otwarciu terminalu?
slhck
Dokonałem aliasu cleardo właściwego polecenia czyszczenia okna wyjściowego na moim komputerze. Sprawdzę to za około sześć godzin, chyba że ktoś wcześniej udzieli odpowiedzi.
Daniel Beck
@Daniel Naprawdę doceniłbym to, dzięki!
Proxify

Odpowiedzi:

4

Dodaj następujące na końcu .bash_profile:

printf '\033c'

To naprawdę wyczyści Terminal. Zdefiniowałem nawet następującą funkcję, ponieważ nie podobało mi się przewijanie domyślne clear:

function clear {
    printf '\033c'
}

Myślę, że to tak samo, jak twardy reset Terminal ( Cmd-Opt-R), ale nie jestem do końca pewien.

Daniel Beck
źródło
nie jest to jednak odpowiedź - Lion przywraca okna z poprzedniej sesji terminalu. To, co musisz zrobić, to wyłączyć Wznów w Terminalu, jak mówi Josh poniżej. Musisz także nauczyć się zamykać okna, których już nie używasz, przed zamknięciem aplikacji w Lion.
w00t,
1
@ w00t Myślę, że rozumiesz pytanie inaczej niż ja. Użytkownik martwi się tylko szarymi liniami związanymi z jego poprzednią sesją; nigdzie nie wymieniono okien. Sesje są również nowe; który jest dobrze widoczny, gdy cdgdzieś wejdziesz, a następnie zamkniesz i ponownie otworzysz Terminal. Są tylko szare linie z końca poprzedniej sesji. Pomiędzy moją odpowiedzią a innymi ”z pewnością znajdzie rozwiązanie swojego problemu, w zależności od tego, która interpretacja jest poprawna. Nawiasem mówiąc, moja odpowiedź ma znacznik wyboru, chociaż nie była pierwsza, więc nie może być aż tak źle.
Daniel Beck
ESC cto „Pełny reset (RIS)”, który jest taki sam jak Shell> Wyślij twardy reset; jednak to tylko czyści wyświetlacz i resetuje stan terminala. Nie usuwa przewijania. Jeśli wszystko, czego szuka Proxify, jest sposobem na wyczyszczenie ekranu, użyj zwykłego clearpolecenia (nie clearfunkcji podanej w tej odpowiedzi). W przeciwnym razie ESC cjest niewystarczający i wykonuje całkowicie niepotrzebny reset terminala.
Chris Page
@ChrisPage Mógłbym przysiąc, że wyczyściłem też przewijanie. Czy nadal masz system 10.6? Kiedy to opublikowałem, wciąż byłem na Snow Leopard. W Lion nie ma znaczenia, tak jak napisałeś.
Daniel Beck
@DanielBeck Przed wersją 10.7 sekwencja ucieczki Erase in Display (ED) (ESC [… J) mogła jedynie wyczyścić ekran, a nie przewijanie. Począwszy od 10.7, Terminal obsługuje wariant xterm ED, który usuwa przewijanie: ESC [3 J invisible-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page
10

Z własnego doświadczenia, kiedy funkcja Resume niepełnosprawnej Lwa , to zatrzymany historię sesji przechowywania terminali.

Asinine Monkey
źródło
1
Wygląda na to, że to rozwiązuje ten problem. Dzięki.
Mike L.
9

Funkcja wznawiania okna Lion jest ustawiana dla poszczególnych aplikacji. Możesz zatrzymać to w Terminalu za pomocą następującego polecenia:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Ponieważ edytujesz ustawienia terminalu, mając otwarty terminal, musisz dwa razy zamknąć i ponownie uruchomić terminal, zanim zobaczysz efekt.

Josh Cheshire
źródło
To powinna być odpowiedź moim zdaniem. Ustawia to wartości domyślne dla wszystkich Mac OS X.
KVISH
7

Command + K usuwa przewijanie.

ARG
źródło
Jest to najprostsze i najlepsze rozwiązanie tylko dla trwałego wyczyszczenia kilku okien, ale nie dla trwałego wyłączenia tej funkcji.
Simone Manganelli,
1

Myślę, że nie chcesz bawić się obejściami, ale chcesz wiedzieć, gdzie jest przechowywany na dysku „szary tekst” widoczny w Terminalu i usuń go.

Ten tekst jest tutaj przechowywany: ~ / Library / Saved Application State / com.apple.Terminal.savedState.

Usuń folder, a będziesz szczęśliwy.

Bóg
źródło
0

Jedno rozwiązanie: eksportuj TERMz rozsądną wartością, taką jak „xterm”, i umieść clearpolecenie w ostatnim wierszu twojego ~/.bash_profile. Można opracować inne rozwiązania.

Terry Gardner
źródło
2
clearnie usuwa terminala, przewija tylko stronę w dół.
Daniel Beck
@DanielBeck clearczyści wyświetlacz terminala. W niektórych przypadkach robi to poprzez przeniesienie zawartości ekranu do przewijania (ale nie zawsze, np. Gdy wybrany jest ekran alternatywny).
Chris Page
Nie ma potrzeby modyfikowania wartości TERM, chyba że ktoś ją już zmodyfikował z wartości domyślnej. Domyślnie Terminal ustawia TERM na xterm-color (wersje wcześniejsze niż 10.7) lub xterm-256color (Lion 10.7 i nowsze), które oba obsługują clear.
Chris Page
@ChrisPage Jak często zdarza się to przy uruchamianiu terminalu?
Daniel Beck
@DanielBeck Nie rozumiem twojego pytania. O ile użytkownik nie dostosuje ustawienia preferencji „Deklaruj terminal jako” w celu zmiany wartości, na którą Terminal ustawia TERM, będzie to domyślny kolor xterm-256 (lub kolor xterm przed 10.7). Terminal zawsze ustawia TERM na wartość „Deklaruj terminal jako” podczas tworzenia sesji terminala.
Chris Page