Tmux 2.4+ dengan binding mode copy dan xclip :
set-option -g mouse on
set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -se c -i"
Untuk versi tmux yang lebih lama, binding mode copy emacs (default), atau platform non-X (yaitu, tanpa xclip), lihat penjelasan di bawah ini.
Penjelasan: Pertama-tama kita perlu mengaktifkan opsi mouse sehingga tmux akan menangkap mouse dan mari kita ikat acara mouse:
set-option -g mouse on
Gnome-terminal tidak mendukung pengaturan clipboard menggunakan urutan escape xterm jadi kami harus memastikan set-clipboard
opsi tidak aktif:
set-option -s set-clipboard off
Opsi ini mungkin didukung dan diaktifkan secara default di iTerm2 (lihat set-clipboard
di manual tmux), yang akan menjelaskan perilaku di sana.
Kita kemudian dapat mengikat MouseDragEnd1Pane
"tombol" mode salin , yaitu, ketika tombol mouse pertama dilepaskan setelah mengklik dan menyeret dalam sebuah pane, ke perintah tmux yang mengambil pemilihan mode salin saat ini (dibuat oleh pengikatan default untuk MouseDrag1Pane
) dan mengirimkannya ke pipa. ke perintah shell. Perintah tmux ini copy-pipe
sebelum tmux 2.4, dan sejak itu berubah menjadi send-keys -X copy-pipe[-and-cancel]
. Adapun perintah shell, kita hanya perlu sesuatu yang akan mengatur isi clipboard sistem untuk apa pun yang disalurkan ke sana; xclip digunakan untuk melakukan ini dalam perintah berikut. Beberapa penggantian setara untuk di "xclip -selection clipboard -i"
bawah ini pada platform non-X adalah "wl-copy"
(Wayland), "pbcopy"
(macOS), "clip.exe"
(Windows, WSL), dan "cat /dev/clipboard"
(Cygwin, MinGW).
Tmux 2.4+:
# For vi copy mode bindings
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
Tmux 2.2 hingga 2.4:
# For vi copy mode bindings
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"
Sebelum tmux 2.2:
Salin setelah dukungan seret mouse awalnya ditambahkan di Tmux 1.3 melalui pengaturan mode-mouse
opsi baru untuk on
. Tmux 2.1 mengubah dukungan mouse ke binding kunci mouse yang sudah dikenal, tetapi tidak memiliki DragEnd
binding, yang diperkenalkan pada 2.2. Jadi, sebelum 2.2 saya percaya satu-satunya metode pengaturan clipboard sistem pada drag mouse adalah melalui penggunaan built-in sekuens melarikan diri xterm ( set-clipboard
opsi). Ini berarti bahwa perlu memperbarui setidaknya tmux 2.2 untuk mendapatkan perilaku seret dan salin untuk terminal yang tidak mendukung set-clipboard
, seperti Terminal GNOME.