Saya baru saja mulai menggunakan tmux, dan saya sangat menyukainya, tetapi saya harus dapat menggulir di dalam buffer / panel / windows yang telah saya buka. Saya tidak peduli apakah itu berfungsi dengan mouse atau tidak. Ketika saya mencari halaman manual tmux, saya hanya menemukan dua contoh kata "scroll" yang muncul, dan keduanya berhubungan dengan mode salin. Apakah ada cara untuk menggulir tanpa semua overhead memasuki mode salin?
1293
copy-mode
adalah cara untuk melihat riwayat (dan secara opsional menyalin hal-hal dari itu).set -g mode-mouse on
jawaban per @ chaiyachaiya adalah pemenang untuk sayaJawaban:
Ctrl- blalu [Anda dapat menggunakan tombol navigasi normal untuk menggulirkan (mis. Up Arrowatau PgDn). Tekan quntuk keluar dari mode gulir.
Atau Anda dapat menekan Ctrl- b PgUpuntuk langsung masuk ke mode salin dan gulir satu halaman ke atas (seperti itulah yang paling Anda inginkan)
Dalam
vi
mode (lihat di bawah), Anda juga dapat menggulir halaman ke atas / ke bawah baris demi baris menggunakan Shift- kdan Shift- j(jika Anda sudah dalam mode gulir). Tanpa pergeseran, kursor bergerak alih-alih halaman.Kutipan dari halaman manual :
Ditambah banyak lagi. Perhatikan bahwa Anda harus menekan
C-b
dua kali jika Anda menggunakannya untuk halaman ke atas karenaC-b
terikat sebagai tombol perintah. Lihat halaman manual untuk informasi tentang membuat perintah mode salin dengan hitungan berulang.Anda dapat mengatur mode penjilidan tombol menggunakan Ctrl- b, lalu
atau
vi
.sumber
C-b =
secarachoose-buffer
default. Apakah maksud AndaC-b [
(yang secaracopy-mode
default)? Anda juga dapat menggunakanC-b PageUp
untuk memulai mode salin langsung pada halaman sebelumnya (sangat berguna ketika Anda tahu apa yang ingin Anda lihat / salin telah digulir dari halaman saat ini).C-b [
masuk ke mode salin dan kemudian menggunakan emacs atau vi key-bindings untuk bergulir. Ini sepertinya banyak langkah hanya untuk menggulir, tetapi manfaat tmux masih lebih besar daripada gangguan ini. Saya menggunakan macbook dan tidak ada kunci PageUp: - \. (Juga, bagaimana cara membuat kunci dengan penurunan harga seperti yang Anda lakukan, Dennis?)<kbd>Ctrl</kbd>
Nah, Anda harus mempertimbangkan cara yang tepat untuk mengatur gulir: tambahkan di
tmux.conf
atau
Ini bekerja untuk saya di jendela dan panel. Sekarang tmux sempurna.
Tmux praktis memiliki info lebih lanjut tentang file tmux.conf.
sumber
q
untuk keluar dari mode gulir.set -g mouse on
, dan gulir tidak secara otomatis memasuki mode salin seperti sebelumnya.Dari .tmux.conf saya:
Ini memungkinkan pengguliran xterm asli.
sumber
Untuk tmux 2.1 terbaru, untuk menggulir dengan mouse Anda dengan baik, ini adalah jawaban yang tepat:
tidak cukup hanya dengan memuat ulang .tmux.conf Anda, Anda perlu memulai ulang tmux Anda, mis
tmux kill-server && tmux
diambil dari https://github.com/tmux/tmux/issues/145
sumber
Shift+click
saat Anda mengaktifkan mode mouse.Dalam kasus saya, cukup opt+ UpArrowdan opt+ DownArrowdi OSX.
sumber
tmux
dapat digunakan pada OS X juga.Ini adalah cara saya membuatnya bekerja, dan alasan mengapa saya pikir itu lebih baik daripada cara default.
Untuk mencobanya, masukkan semua bagian kode
~/.tmux.conf
.Langkah 1. Ubah kunci awalan sehingga Anda tidak perlu mencapai sedikit pun. 'B' tampaknya merupakan kunci dekat, tetapi berada di tengah-tengah kedua jari telunjuk (di 'F' dan 'J', masing-masing). Karena jalan pintas itu penting dalam tmux, Cj jauh lebih baik karena melibatkan gerakan tanpa tangan (selain dari menekan tombol).
Langkah 2. 'S' (untuk masuk ke mode salin) adalah: 1) tutup (alasan yang sama seperti di atas), 2) melibatkan sisi lain (bandingkan: 1-2 dalam tinju, atau
ls
perintah untuk melihat file dalam direktori ), dan 3) dapat dianggap sebagai mnemonik untuk "gulir" (walaupun mode salin bukan hanya tentang menggulir).Langkah 3. Bagian terakhir, gulir yang sebenarnya. 'P' dan 'N' familiar untuk tujuan ini bagi pengguna Emacs. Mereka dekat, intuitif ('P' di atas 'N' pada keyboard), dan mnemonik ("sebelumnya" dan "berikutnya"). Jika Anda baru saja menggulir di Emacs, dan kemudian pergi ke tmux, masuk akal untuk memiliki pintasan tersebut.
Namun, saya menemukan bahwa 'I' dan 'K' bahkan lebih baik - mereka bahkan lebih dekat daripada 'P' dan 'N', dan intuitif (untuk alasan yang sama); seperti untuk mnemonik - karena menggulir adalah hal yang biasa dilakukan, mnemonik tidak akan terlalu penting karena pintasan akan segera memotong otak Anda dan memasuki memori otot.
sumber
Saya sering mencari-cari ini dan solusi terbaik bagi saya berfungsi sebagaimana disebutkan dalam panduan terperinci ini: http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
Tambahkan binding ini di ~ / .tmux.conf:
Dengan pendekatan di atas yang diterapkan, Anda dapat menyalin dari panel di jendela juga dengan memperbesar ke setiap panel terlebih dahulu menggunakan Awalan + .
Satu detail penting yang tidak ada dalam mode mouse adalah dengan menekan Shift sebelum memilih area yang akan disalin. Ini akan menyalinnya ke buffer terminal tradisional alih-alih buffer copy tmux. ( https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )
sumber
Saya akan merekomendasikan untuk mencoba plugin tmux-better-mouse-mode untuk menyelesaikan sebagian besar masalah terkait mouse tmux Anda.
Ini kompatibel dengan Tmux 2.1+ dan
set-option -g mouse on
pendekatan baru .sumber
scroll-without-changing-pane
dalam kombinasi denganscroll-without-changing-pane
danemulate-scroll-for-no-mouse-alternate-buffer
. Sekarang pengalaman penggunaan tmux saya jauh lebih baik.Satu-satunya hal yang bekerja untuk saya adalah memasukkan yang berikut
~/.tmux.conf
(Anda mungkin perlu mem-boot ulang agar ini berlaku)
Memperbarui:
Saya menemukan bahwa jika Anda mengubah pengaturan di Putty Connection> Data> tipe terminal ke "putty" (digunakan untuk memperbaiki beberapa masalah pemformatan) dari "xterm" maka solusi ini berhenti berfungsi.
Pembaruan 2:
Gunakan ini jika Anda ingin "dempul" sebagai jenis terminal Anda:
set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
sumber
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
Ini bekerja untuk saya:
sumber
set -g mouse on
FWIW, di macbook / OSX Mojave, setelah
ctrl+[
melakukan:up arrow
untuk berbarisdown arrow
untuk line downfn + up arrow
untuk halaman atasfn + down arrow
untuk halaman ke bawahsumber
Satu-satunya hal yang bekerja untuk saya adalah vim ~ / .tmux.conf set -g mode-mouse di ### Masukkan pengaturan ini dengan vim, lalu sumber file. tmux source-file ~ / .tmux.conf
sumber
sumber
Ctrl-B
(Ctrl-A
adalah default untuk layar GNU).