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-clipboardopsi tidak aktif:
set-option -s set-clipboard off
Opsi ini mungkin didukung dan diaktifkan secara default di iTerm2 (lihat set-clipboarddi 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-pipesebelum 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-mouseopsi baru untuk on. Tmux 2.1 mengubah dukungan mouse ke binding kunci mouse yang sudah dikenal, tetapi tidak memiliki DragEndbinding, 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-clipboardopsi). 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.