Menggulir pada Mac dengan Tmux dan iTerm

16

Saya menggunakan iTerm 2.1.4 dan Tmux di OS X Yosemite. Saya ingin dapat menggulir jendela iTerm saya ke atas dan ke bawah, tetapi saya tidak yakin apa yang mengontrol gulir. Apakah tmux mengontrol pengguliran ketika saya menggunakannya dengan iTerm atau apakah iTerm masih mengontrol pengguliran?

Saya sudah mencoba menggunakan berbagai tombol yang seharusnya untuk menggulir iTerm tetapi yang saya dapatkan hanyalah karakter "~~~~~" pada baris perintah. Bagaimana cara saya menggulir dengan pengaturan ini?

sinar
sumber

Jawaban:

31

Pengguliran tmux sedikit berbeda dari hanya menggulir dengan roda mouse atau trackpad.

Dalam tmux, pengguliran dilakukan dengan terlebih dahulu mengirim 'awalan- ['. Anda akan melihat kotak kuning kecil di sudut kanan atas jendela terminal Anda.

Dalam mode ini, Anda dapat menggunakan tombol panah, PageUp, PageDown, Ctrl-U, Ctrl-D, hjkl (mode-vi), atau tombol gerakan yang dapat dikonfigurasi lainnya untuk menggulir maju atau mundur melalui buffer.

Ada opsi dalam versi tmux yang relatif baru yang memungkinkan Anda menggunakan mouse saat dalam mode gulir.

tambahkan ini ke .tmux.conf Anda

set-option -g mouse on

Selain itu, jika memori berfungsi, tmux 'terintegrasi ke dalam' iTerm, dan dengan demikian fitur seperti multiplexing juga disertakan. Apakah ada alasan Anda ingin menggunakan tmux di iTerm? Terminal OSX built-in jelas ditingkatkan dengan multiplexer seperti tmux, tetapi iTerm berupaya mengatasi kekurangan tersebut dengan menjadi solusi mandiri.

EDIT 1: Setelah memutakhirkan ke El Capitan, saya melihat beberapa perilaku yang tidak dikenal saat menggunakan Terminal.app dan tmux. Ini menuntun saya ke artikel yang luar biasa yang merinci opsi-opsi yang tidak saya sadari dan yang terlihat untuk menjawab pertanyaan Anda lebih teliti daripada yang saya harapkan. Semua opsi adalah tmux-spesifik, sejauh yang saya tahu, dan tidak tergantung pada versi OSX, jadi menggunakannya di Yosemite harus baik-baik saja. Pertanyaan bergulir Anda dibahas di sini, dengan opsi-opsi seperti:

bind-key -t vi-copy WheelUpPane scroll-up
bind-key -t vi-copy WheelDownPane scroll-down

Banyak lagi opsi yang bermanfaat dalam artikel yang ditautkan di bawah ini.

https://ryanfb.github.io/etc/2015/10/19/tmux_mouse_mode_on_el_capitan.html

notdavidcronenberg
sumber
3
Tautan yang dibagikan di bagian bawah jawaban ini sangat bagus tetapi sekarang agak ketinggalan zaman. Untuk mencapai tujuan Anda, Anda juga harus membaca ini: github.com/tmux/tmux/issues/754#issuecomment-297452143
John Ruiz
Tidak bekerja untuk saya pada sierra tinggi
Ulysse BN
bekerja di iterm2 menggunakan tmux tetapi mengacaukan dirinya sendiri di terminal.app dengan hal-hal seperti menggulir dalam vim berhenti bekerja dan kemudian salin tempel menjadi lebih aneh
Ishan Srivastava
1

Saya menemukan cara berikut untuk menghadapinya (macOS Mojave):

  • Aktifkan mode gulir tmux dan kemudian tekan tombol panah atas; iTerm meminta Anda untuk mengatur preferensi pengguliran yang disebutkan di atas. Tetapi jika Anda melewatkan / menolak permintaan ini, Anda tidak akan diminta lagi, saya pikir.

  • Buka pengaturan iTerm -> "Advanced" -> "Scroll wheel mengirim tombol panah ketika dalam mode layar alternatif" -> set ke "yes".

desain setiap orang
sumber