Bagaimana cara mendapatkan Mac OS X Terminal.app dan scroll layar / vim untuk bermain bagus?

13

OSX 10.6.3 Terminal.app

Saya pengguna layar yang cukup berdedikasi. Penyangga baris Terminal.app dan / atau gulir sepertinya tidak berfungsi untuk saya. Itu sementara di layar apa pun yang melewati bagian atas frame hilang, tidak dapat menggulir kembali ke. Ini sepertinya berfungsi ok di aplikasi terminal lain gnome, cygwin. Mungkin ini shell env, config, atau perintah?

.screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  

Saya telah mencoba menggunakan defscrollback di sini dengan nilai yang berbeda, tetapi tidak berpengaruh.

beberapa pengaturan .bashrc:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  
rustychains
sumber

Jawaban:

15

Di Lion, tipe terminal default berbeda, jadi Anda harus menggunakan baris ini .screenrcsebagai gantinya:

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@

tidak langsung
sumber
Ini tidak berfungsi untuk saya :( "echo $ TERM" mengembalikan "xterm-256color", jadi saya yakin itu adalah nilai terminal yang tepat, tetapi tidak ada nilai yang saya berikan berlaku.
Tim Harper
15

Di direktori home Anda, masukkan file .screenrcteks berikut:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

Bekerja untuk Terminal.app juga.

dmw
sumber
2
Saya tahu ini berfungsi di Snow Leopard, tetapi tampaknya tidak berfungsi di OS X Lion. Nyebelin :(
Tim Harper
1
Ini hanya apa yang saya cari - bekerja untuk saya di OS X Lion 10.7.3 dengan Terminal.app - fantastis!
Dossy
Juga berfungsi untuk saya di OS X Lion 10.7.5 (Catatan: Ada sedikit kesalahan ketik dalam jawaban; file yang Anda perlukan untuk menyimpan perintah ini adalah ~ / .screenrc, yaitu di direktori home Anda, di file bernama ".screenrc" - bukan "screenrc". Saya telah mengedit jawaban sekarang untuk mencerminkan ini.)
likethesky
8

Saya pikir itu harus bekerja juga, bahkan lebih universal:

termcapinfo xterm* ti@:te@

Ini akan menjadi lebih universal. Itu legal:

termcapinfo * ti@:te@
AB
sumber
Ini adalah jawaban terbaik.
Steve Bennett
3

Saya menyadari, thread lama, tapi untuk apa nilainya:

Jika menggunakan iTerm2 yang dikonfigurasi dengan benar di Mac OS X Mountain Lion 10.8.2, tampaknya tidak perlu juga membuat / mengedit file .screenrc, sesuai saran Gareth yang membantu di atas.

  1. Instal iTerm2-1_0_0_20120726

  2. Luncurkan iTerm2> Menu profil> Buka Profil> pilih Default> Edit Profil> tab Terminal> Centang:

    • Simpan baris ke scrollback saat bilah status aplikasi ada
    • Scrollback tanpa batas (opsional)
  3. Mulai ulang iTerm 2 (atau mulai shell baru)

  4. Mengujinya: Secara pribadi saya SSH akan ke Ubuntu 12.04.1 LTS pada AWS EC2> dimulai olehobu (sudah dikonfigurasi untuk menggunakan layar, daripada tmux default)> Scrollback berfungsi dengan baik sekarang (ditambah, mo bettah iTerm daripada Terminal bagaimanapun ..)

-dk

David Keenan
sumber
Itu mengagumkan!!
HaxElit
@ David Keenan Senang sekali Anda memposting solusi ini!
ivan
2

Jawaban singkat:

Ketik crtl-a+ [dan gunakan tombol gulir / panah atau pgup/ pgdwn. Untuk keluar dari "mode gulir" (bukan nama sebenarnya), tekanEsc

Jawaban panjang: Artikel ini tentang buffer scrollback layar.

kecepatanette
sumber
tolong beri komentar tentang suara turun.
lajuette
Catatan, metode ini muncul untuk menghentikan proses yang sedang berjalan. Yang mungkin atau mungkin tidak diinginkan
iring
1

Saya tidak tahu apakah mungkin untuk mendapatkan buffer gulir Terminal untuk mengumpulkan dan bekerja dengan scrollback layar gnu.

Saya sarankan Anda membaca lebih lanjut tentang scrollback di dalam layar itu sendiri. Anda perlu mempelajari beberapa kombinasi tombol baru - karena Anda sudah menggunakan layar, saya ragu itu akan membuat Anda takut.

Dengan sedikit bantuan dari Google , saya menemukan posting blog yang disebut Bekerja dengan Penyangga Scrollback .

Saya tidak benar-benar berharap bahwa scrollback akan berintegrasi dengan buffer Terminal.app. Jika Anda beralih dari satu layar virtual ke yang lain, apa yang terjadi pada buffer Terminal? Jika Anda memutuskan koneksi dari satu mesin dan menghubungkan kembali tiga jam kemudian, buffer Terminal Anda lama tidak sinkron.

screenadalah jendela kecil saya ke server lain. Saya suka buffer scrollback layar tetap dengan sesi sehingga saya memiliki akses ke sana dari mana saya terhubung. Saya suka bahwa setiap layar dalam sesi saya memiliki buffer scrollback sendiri.

Saya pikir Anda menemukan ini bekerja di gnome dan cygwin karena screenmenggunakan fungsionalitas 'layar alternatif' xterm. Ada lebih banyak diskusi tentang ini di pertanyaan pertama di halaman faq layar ini .

Doug Harris
sumber
terima kasih, info bagus ya, mode salin sangat mirip vim, saya suka. :)
rustychains
1

Saya menggunakan iTerm 2 . Ada opsi di bawah profil> terminal yang menyatakan: "Simpan baris ke scrollback ketika bilah status aplikasi ada". Itu dan menempatkan:

defutf8 on
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

di screenrc melakukan trik untuk saya. Bergulir!

Runar
sumber
0

Jika Anda pergi ke menu Terminal dan memilih Preferensi ... lalu klik pada tab jendela di bagian bawah ada pilihan untuk Scrollback, apakah tombol radio untuk Unlimited dipilih?

Menandai
sumber
tidak terbatas dipilih
rustychains
0

Saya menyadari ini adalah utas lama dan telah dijawab dengan cukup, tetapi reputasi saya tidak cukup tinggi untuk hanya mengomentari jawaban yang sesuai. Di tengah-tengah jawaban ini , Anda bisa menempel variabel lingkungan ke dalam rcfile:

termcapinfo $TERM ti@:te@melakukannya untukku. Ini seperti jawaban yang dirujuk, tetapi tidak ada wildcard.

kanatzidis
sumber
0

Dalam kasus saya, masalah dengan Terminal Mac.app adalah bahwa profil terminal default saya tidak menyatakan terminal sebagai xterm-256color. Mengubah nilai pada "Nyatakan terminal sebagai" di bawah judul "Terminfo" pada tab "Advanced" pada pengaturan profil saya memperbaiki masalah tersebut.

wachr
sumber