Bagaimana cara membuka terminal bersih di Mac OS X Lion?

10

Setiap kali saya membuka terminal, perintah yang digunakan terakhir muncul.

Saya ingin mendapatkan terminal yang bersih ketika saya membukanya, tetapi saya belum menemukan cara melakukannya.

Sebagai contoh jika saat menggunakan terminal saya lakukan:

defaults write com.apple.Finder...etc

dan kemudian saya menutup terminal. Lain kali saya membuka terminal, saya akan melihat baris yang sama berwarna abu-abu (untuk menunjukkan itu adalah perintah yang saya gunakan terakhir kali saya membuka terminal) dan baris untuk mulai menulis di bawahnya.

Proksi
sumber
Bisakah Anda memberikan contoh apa yang Anda lihat ketika Anda membuka terminal?
slhck
Saya alias clearperintah membersihkan jendela output yang tepat pada mesin saya. Akan mencarinya dalam waktu sekitar enam jam kecuali orang lain memberikan jawaban sebelum itu.
Daniel Beck
@Aniel Saya akan sangat menghargai itu, terima kasih!
Proxify

Jawaban:

4

Tambahkan yang berikut di bagian paling akhir .bash_profile:

printf '\033c'

Ini benar - benar akan menghapus Terminal. Saya bahkan mendefinisikan fungsi berikut, karena saya tidak suka perilaku pengguliran default clear:

function clear {
    printf '\033c'
}

Saya pikir itu sama dengan hard reset Terminal ( Cmd-Opt-R), tapi saya tidak sepenuhnya yakin.

Daniel Beck
sumber
ini bukan jawabannya - Lion mengembalikan windows dari sesi Terminal sebelumnya. Yang perlu Anda lakukan adalah mematikan Resume untuk Terminal seperti yang dikatakan Josh di bawah ini. Juga, Anda perlu belajar untuk menutup windows yang tidak lagi Anda gunakan sebelum berhenti dari aplikasi di Lion.
w00t
1
@ w00t Yah saya kira Anda memahami pertanyaan itu berbeda dari saya. Pengguna hanya peduli tentang garis abu-abu yang terkait dengan sesi sebelumnya; tidak ada jendela yang disebutkan. Sesi juga baru; yang mudah terlihat saat berada di cdsuatu tempat, lalu menutup dan membuka kembali Terminal. Hanya ada garis abu-abu dari akhir sesi sebelumnya. Antara jawaban saya dan yang lain, dia pasti dapat menemukan solusi untuk masalahnya, interpretasi mana pun yang benar. By the way, jawaban saya memiliki tanda centang, meskipun itu bukan yang pertama, sehingga tidak dapat yang buruk.
Daniel Beck
ESC cadalah "Full Reset (RIS)", yang sama dengan Shell> Send Hard Reset; namun, itu hanya membersihkan tampilan dan mengatur ulang status terminal. Tidak menghapus scrollback. Jika semua Proxify mencari adalah cara untuk menghapus layar, cukup gunakan clearperintah normal (bukan clearfungsi yang diberikan dalam jawaban ini). Kalau tidak, ESC ctidak cukup, dan melakukan reset terminal yang sama sekali tidak perlu.
Chris Page
@ ChrisPage saya bersumpah bahwa itu membersihkan scrollback juga. Apakah Anda masih memiliki sistem 10.6? Ketika saya memposting ini, saya masih di Snow Leopard. Pada Lion itu tidak membuat perbedaan, seperti yang kamu tulis.
Daniel Beck
@DanielBeck Sebelum 10.7, urutan melarikan diri Erase in Display (ED) (ESC [... J) hanya dapat menghapus layar, bukan scrollback. Dimulai pada 10.7, Terminal mendukung varian ED xterm yang menghapus scrollback: ESC [3 J invisible-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page
10

Dari pengalaman saya sendiri, ketika saya menonaktifkan fitur Resume Lion , Terminal ini menghentikan riwayat sesi penyimpanan.

Monyet Asinine
sumber
1
Sepertinya ini menyelesaikan masalah ini. Terima kasih.
Mike L.
9

Fitur resume jendela Lion diatur pada aplikasi berdasarkan aplikasi. Anda dapat menghentikan ini di Terminal dengan perintah berikut:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Karena Anda mengedit pengaturan Terminal saat Terminal terbuka, Anda harus menutup dan memulai ulang Terminal dua kali sebelum melihat efeknya.

Josh Cheshire
sumber
Ini harus menjadi jawaban menurut saya. Ini menetapkan default untuk semua Mac OS X.
KVISH
7

Command-K menghapus Scrollback.

ARG
sumber
Ini adalah solusi paling sederhana dan terbaik untuk hanya menghapus permanen untuk beberapa jendela, tetapi tidak menonaktifkan fitur permanen.
Simone Manganelli
1

Saya pikir apa yang Anda inginkan bukan bermain dengan pemecahan masalah, tetapi Anda ingin tahu di mana disimpan pada disk "teks abu-abu" yang Anda lihat di Terminal dan menghapusnya.

Teks ini disimpan di sini: ~ / Library / Status Aplikasi Tersimpan / com.apple.Terminal.savedState.

Hapus folder dan Anda akan senang.

Tuhan
sumber
0

Satu solusi: ekspor TERMdengan nilai wajar seperti "xterm", dan letakkan clearperintah di baris terakhir Anda ~/.bash_profile. Solusi lain dapat dirancang.

Terry Gardner
sumber
2
cleartidak menghapus Terminal, hanya menggulung halaman ke bawah.
Daniel Beck
@DanielBeck clearmenghapus tampilan terminal. Dalam beberapa kasus ia melakukannya dengan memindahkan konten layar ke dalam scrollback (tetapi tidak selalu, misalnya, ketika layar alternatif dipilih).
Chris Page
Tidak perlu mengubah nilai TERM kecuali ada yang sudah memodifikasi dari default. Secara default, Terminal menetapkan TERM ke warna xterm (versi sebelum 10.7) atau warna xterm-256 (Lion 10.7 dan yang lebih baru), keduanya mendukung clear.
Chris Page
@ ChrisPage Seberapa sering demikian ketika meluncurkan Terminal?
Daniel Beck
@DanielBeck Saya tidak mengerti pertanyaan Anda. Kecuali jika pengguna telah menyesuaikan pengaturan preferensi "Nyatakan terminal sebagai" untuk mengubah nilai yang ditetapkan Terminal pada TERM, itu akan menjadi default, xterm-256color (atau xterm-color sebelum 10.7). Terminal selalu menetapkan TERM ke nilai "Nyatakan terminal sebagai" saat membuat sesi terminal.
Chris Page