Saya sedang menjalankan tmux 1.6 dan saya mencoba mengkonfigurasinya untuk menggunakan keybindings vi-style serta menggunakan clipboard sistem saat menyalin dalam mode interaktif:
set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' "copy-selection && run \"tmux save-buffer | xclip -selection clipboard\""
Sederhananya, saya ingin dapat melakukan C+ [dan kemudian gunakan vuntuk mulai memilih teks untuk disalin, lalu ketika ydidorong, salin pilihan ke pemilihan tmux dan kemudian ekspor ke clipboard sistem menggunakan xclip
.
Sayangnya, ketika saya mencoba melakukan ini, saya melihat yang berikut:
.tmux.conf: 14: unknown command: copy-selection && run "tmux save-buffer | xclip -selection clipboard"
Apakah ada cara untuk melakukan ini dalam konfigurasi tmux?
xclip
sebenarnya terinstal di sistem Anda (tidak terinstal secara default di Ubuntu, Anda harussudo apt-get install xclip
mendapatkannya)xclip
denganpbcopy
. Untuk Cygwin di Windows, ganti denganputclip
(daricygutils-extra
paket).bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -i -f -selection primary | xclip -i -selection clipboard"
set -g mouse on
. Ini seharusnya mengaktifkan "mode mouse" tetapi bahkan setelah menghapusnya semuanya mengenai mouse saya berfungsi dengan baik (roda gulir berfungsi, pemilihan mouse berfungsi) ...Versi terbaru untuk jawaban Ben Davis
kompatibel dengan tmux 2.4
sumber
copy-pipe-and-cancel
daripadacopy-pipe
. Ini ada di tmux 2.5Anda mengalami beberapa masalah teknis:
binding "mode khusus" (misalnya
vi-copy
) ...run-shell
aliasrun
tidak tersedia), dan;
—&&
pemisah perintah shell tidak tersedia).tmux 1.8 memiliki
copy-pipe
, yang dapat membantu:(Ada yang mengikat seperti ini tercantum di FAQ .)
sumber
Lihatlah plugin tmux-yank untuk tmux. https://github.com/tmux-plugins/tmux-yank
Ini memberikan cara otomatis untuk menyalin / menempel dari tmux ke clipboard sistem. Ini bekerja pada sistem OSX / Linux / Cygwin.
sumber
Untuk macOS Anda dapat menambahkan baris ini
.tmux.conf
bind -t vi-copy y copy-pipe 'pbcopy'
sumber
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'pbcopy'
Inilah yang akhirnya bekerja untuk saya menggunakan tmux 2.2 dan menginstal xclip. Untuk menyalin gaya Vim tambahkan yang berikut ke .tmux.conf
Di sini, ketika dalam mode salin, PREFIX v memulai pemilihan dan PREFIX menyalin ke clipboard. PREFIX p dapat digunakan untuk menempel di terminal.
sumber