Bagaimana saya bisa naik atau turun di tmux dengan Terminal.app?

62

Ketika saya tmuxhanya sebagian teks muncul. Jika saya mencoba menggulir ke atas atau ke bawah, konsol akan menggulung ke atas tetapi bukan teks yang sebenarnya . Jika saya melakukan CTRL + b diikuti oleh [, saya melihat di bilah status *tmux, dan Jika saya menekan panah naik atau turun saya benar-benar bisa naik / turun pada baris teks demi baris . Ketika saya menekan qsaya melihat di baris status bash.

Ketika saya CTRL+bmengikuti Page UPatau Pagekonsol naik atau turun tetapi tidak teks.

Bagaimana saya bisa menggulir ke atas atau ke bawah teks dalam lebih dari satu baris sekaligus?

Jim
sumber
Apa yang saya terkejut, tetapi apa yang tampaknya berhasil, adalah bergulir dengan mouse tengah saat menggunakan tmux di dalam gnome-terminal.
Anthon

Jawaban:

89

Jika Anda menggunakan Terminal.app OS X, itu akan menangkap Page up/downpenekanan tombol dan cukup gulir isi jendela, seolah-olah Anda menggunakan bilah gulir. Anda dapat menggunakan Shift+ Page up/downuntuk mengirimnya ke aplikasi di dalam terminal.

Dengan menggunakan itu, Anda harus dapat menggulir halaman sekaligus menggunakan:

  1. Control+B
  2. [
  3. Tombol panah atau Shift+Page up/down
  4. Control+ Cketika selesai dengan scrollback

Jika Anda ingin mengubah ini untuk berperilaku seperti setiap aplikasi terminal lainnya di setiap platform lain, Anda dapat pergi ke Terminal -> Preferensi, Pengaturan, pilih profil Anda dan pergi ke Keyboard, dan tukar binding untuk "page down / page up" dan "shift page down / shift page up":

Tangkapan layar pengaturan terminal.app keyboard

mrb
sumber
+1 walaupun saya tidak dapat mengujinya tetapi tampaknya menjadi jawaban yang menang. Saya ingat mencoba CMDdengan panah tetapi saya tidak ingat mencoba SHIFT. Juga swap the bindings for "page down/page up" and "shift page down/shift page upapa yang Anda maksud? Saya tidak yakin apa yang harus saya lakukan. Saya sangat berharap ini berhasil karena saraf saya benar-benar hancur oleh ini
Jim
@ Jim Lihatlah screenshotnya. Jika Anda membuka pengaturan di komputer Anda, Anda akan melihat bahwa kunci "halaman atas / bawah" dan "shift halaman atas / bawah" Anda memiliki tindakan yang berbeda dari yang saya miliki (ini adalah binding: tombol mana yang melakukan tindakan apa). Jika Anda mengubahnya, Anda dapat mengubah apa yang terjadi ketika Anda memegang shift atau tidak memegang shift. (Jika Anda mengeditnya, Anda dapat memasukkannya \033dengan menekan escape)
mrb
Saya tidak punya saya mactersedia untuk memeriksa ini sekarang, tetapi dalam screenshot Anda untuk shift page downitu memiliki teks yaitu scroll to next page in buffer. Ini adalah teks khusus yang persis seperti yang dikatakan? Yaitu mendefinisikan beberapa pemetaan? Juga ada buku bagus tentang ini di mac? Karena saya sudah gila dengan keyboard beberapa minggu terakhir
Jim
@ Jim, saya tidak tahu buku apa pun; Saya hanya dikelilingi oleh orang-orang yang dibesarkan di Mac. Adapun pengaturan kunci, itu akan lebih masuk akal setelah Anda benar-benar melakukannya. :)
mrb
Baik. Saya akan mencoba ini secepatnya. Terima kasih atas jawaban Anda. Saya merasa positif bahwa Anda telah memberikan solusi untuk masalah saya !!! Akan menerima ini segera setelah saya menguji ini
Jim
31

Saya menggunakan kombinasi default pada pra Yosemite MacBook Pro: fn+ + atau fn+ + .

EDIT: Saya menemukan MBP yang menjalankan Yosemite fn+ atau fn+ seharusnya berfungsi secara default.

Dalam dokumentasi sering ditampilkan sebagai ⇞ atau ⇟

Daniël W. Crompton
sumber
1
Ini berfungsi untuk saya di Air baru dengan 10.9.4 tanpa mengubah preferensi atau file konfigurasi atau menjalankan perintah apa pun.
Paul A Jungwirth
8

Edit file ~ / .tmux.conf, masukkan pengaturan 'mouse', dan sumber file yaitu:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf
Surya
sumber
Ini bekerja dengan sempurna!
Sibbs Gambling
7

Pembaruan perintah yang mengikat dalam jawaban Rob, dan sebagai tanggapan atas komentar Alex:

Saya juga menemukan page-updan page-downbukan perintah tmux (v1.8) yang valid, cara yang benar untuk memperbarui Anda ~/.tmux.confadalah:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

Memilih salah emacs atau vi tergantung pada apa tmux gaya menggunakan, lihat mode-keysdi panduan tmux

Setelah ini, Anda dapat naik turun dan turun dengan jdan ;dalam mode salin

Ronnie
sumber
1
Tautan cepat tentang cara memasukkan tmux ke mode vi blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket
Jika Anda membaca artikel yang diposting oleh JiminyCricket dengan hati-hati, dijelaskan bahwa sintaks di atas hanya untuk tmux versi 2.3 dan di bawah. Jika Anda memiliki versi yang lebih baru, maka setelah mengaktifkan mode vi, perintah list-keys -T copy-mode-viakan menampilkan binding kunci dalam sintaks baru (contoh yang baik untuk diikuti). Jika Anda ingin membuat pengikatan halaman-up, misalnya, maka gunakan barisbind-key -T copy-mode-vi j send-keys -X page-up
mareoraft
3

Dari https://wiki.archlinux.org/index.php/Tmux

Jika Anda memiliki masalah bergulir dengan Shift-PageUp / Shift-PageDown di terminal Anda, coba ini:

set -g terminal-override 'xterm *: smcup @: rmcup @'

Itu juga bisa menjadi emulasi terminal, coba salah satu dari yang berikut ini.

export TERM=vt100
export TERM=ansi
export TERM=xterm

mungkin salah satu dari mereka akan melakukannya.

Ada juga bind-key, di ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

akan mengikat jdan ;ke sebelumnya dan selanjutnya.

Rob Bos
sumber
1
page-updan page-downbukan perintah tmux (v1.8) yang valid, sehingga dua perintah terakhir memberikan kesalahan:Unknown command: page-(up|down)
Alex Leach
Lihat jawaban Ronnie di bawah ini untuk mengaktifkan halaman-up dan page-down
Silfheed
1

Periksa untuk memastikan Anda menggunakan binding kunci tmux yang tepat (vi vs emacs) dengan mencoba kedua set: https://superuser.com/questions/196060/selecting-text-tmux-copy-mode

Saya memiliki masalah serupa di mana saya bisa memindahkan kursor dengan tombol panah tetapi tidak bisa naik atau turun menggunakan Control+ U/ Ddan tidak bisa memilih dan menyalin menggunakan Spacedan Enter. Ternyata, tmux berada pada mode emacs pada Mac saya dan mode vi di Linux meskipun saya tidak pernah secara eksplisit mengaturnya untuk OS.

Wei
sumber
0

Jika Anda baru mengenal OS X dan terbiasa dengan pintasan keyboard Windows dan Linux, Anda mungkin akan terbiasa menggunakan CTRLbanyak hal. Di OS X, Command (alias Apple) Key sering digunakan sebagai pengganti CTRLkey.

Selain itu, alih-alih tombol Halaman, coba gunakan Command + Up(atau tombol arah lainnya) untuk memindahkan kursor atau layar Anda.

SunSparc
sumber