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.


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.


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


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.


To powinna być odpowiedź moim zdaniem. Ustawia to wartości domyślne dla wszystkich Mac OS X.
— KVISH

7

Command + K usuwa przewijanie.


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.