Memilih teks dalam mode salin Tmux

73

Saya menjalankan Tmux dalam mode Vi. Navigasi mirip-vi dalam mode salin berfungsi dengan baik. Namun, saya tidak dapat memilih teks apa pun. Baik v maupun V tidak beralih ke mode pemilihan teks mirip-Vi.

Apa yang saya lewatkan?

Omong-omong, apakah mungkin untuk menampilkan nomor baris dalam mode salin?

PS: Saya menjalankan Tmux di Mac OS dengan Z shell

Mantra
sumber

Jawaban:

90

Jawaban singkat: ruang memulai seleksi dan memasukkan salinan.

Untuk referensi di masa mendatang, saya mendapatkan ini dari halaman manual tmux:

       Function                vi             emacs
       Back to indentation     ^              M-m
       Clear selection         Escape         C-g
       Copy selection          Enter          M-w
       Cursor down             j              Down
       Cursor left             h              Left
       Cursor right            l              Right
       Cursor to bottom line   L
       Cursor to middle line   M              M-r
       Cursor to top line      H              M-R
       Cursor up               k              Up
       Delete entire line      d              C-u
       Delete to end of line   D              C-k
       End of line             $              C-e
       Goto line               :              g
       Half page down          C-d            M-Down
       Half page up            C-u            M-Up
       Next page               C-f            Page down
       Next word               w              M-f
       Paste buffer            p              C-y
       Previous page           C-b            Page up
       Previous word           b              M-b
       Quit mode               q              Escape
       Scroll down             C-Down or J    C-Down
       Scroll up               C-Up or K      C-Up
       Search again            n              n
       Search backward         ?              C-r
       Search forward          /              C-s
       Start of line           0              C-a
       Start selection         Space          C-Space
       Transpose chars                        C-t

Pembaruan: tmux list-keysPerintah ini juga akan mencantumkan setiap binding kunci kustom yang Anda miliki.

bluehavana
sumber
70

Anda menggunakan spasi untuk awal seleksi dan masukkan untuk akhirnya.

salinan:

  • Ctrlb[
  • Space
  • Enter

tempel:

  • Ctrlb]
bukan nama pengguna
sumber
1
Ini seharusnya jawabannya. Ini dapat ditingkatkan dengan menjelaskan memasuki / meninggalkan mode salin.
mcsilvio
2
Hebat, jawaban singkat. Hanya catatan untuk sesama vi [m] neophytes: Jika Anda menggunakan editor modal atau baris perintah, Anda akan ingin memastikan Anda dalam mode memasukkan sebelum mencoba untuk menempelkan menggunakan yang disebutkan Ctrl+b+]. Jelas dalam retrospeksi, tetapi mengirim saya bolak-balik beberapa kali sampai saya mengenakan kapas.
JM Janzen
Saya pikir pemformatan dan keringkasan akan menjadi pengganti yang luar biasa untuk bagian "jawaban singkat" dalam jawaban saya. Apakah ada cara untuk menggabungkan jawaban yang memberikan kredit di mana kredit seharusnya jatuh tempo?
bluehavana
hmm ... berpikir lebih jauh, saya kira dua jawaban lebih tepat, hanya ingin memiliki ini di atas flip entah bagaimana.
bluehavana
23

Anda juga dapat mengatur file .tmux.conf Anda dengan menambahkan:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

yang akan memungkinkan 'v' dan 'y' untuk masuk ke mode visual dan menyalin, seperti di vim.

( Sumber )

Manur
sumber
1
Saya mendapatkan "perintah tidak ditemukan: bind-key" di tmux 1.9a
Olivier Lalonde
Ups, saya memasukkannya ke dalam .zshrc saya secara tidak sengaja, nvm :)
Olivier Lalonde
7
Hal ini berubah dalam versi Tmux yang lebih baru. Sekarangbind-key -T copy-mode-vi ...
Steven Lu
21

Hulu (2.4+) tmux mengubah cara mengikat untuk memulai pemilihan. Untuk membuat pengikatan dengan apa yang diminta OP gunakan -Tdan kirim-kunci dengan -X:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
p1100i
sumber
Mode salin tmux saya baru saja berhenti berfungsi dan saya tidak bisa mengatasinya, ini memperbaikinya.
GTF
tmuxupgrade mematahkan konfigurasi saya lebih sering daripada yang saya inginkan ... :-(
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
2

Saya menemukan memasuki mode vi dengan mudah menjadi hambatan yang saya gunakan sebagai berikut:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Paul
sumber