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

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.


70

Anda menggunakan spasi untuk awal seleksi dan masukkan untuk akhirnya.

salinan:

  • Ctrlb[
  • Space
  • Enter

tempel:

  • Ctrlb]

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 )


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.