Tmux 2.4+ พร้อมการผูกโหมดการคัดลอก vi และ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"
สำหรับเวอร์ชัน tmux ที่เก่ากว่าการเชื่อมโหมดการคัดลอก emacs (ค่าดีฟอลต์) หรือแพลตฟอร์มที่ไม่ใช่ X (เช่นไม่มี xclip) ให้ดูคำอธิบายด้านล่าง
คำอธิบาย: ก่อนอื่นเราต้องเปิดใช้งานตัวเลือกเมาส์ดังนั้น tmux จะจับเมาส์และให้เราผูกเหตุการณ์เมาส์:
set-option -g mouse on
Gnome-terminal ไม่รองรับการตั้งค่าคลิปบอร์ดโดยใช้ลำดับ xterm escape ดังนั้นเราควรตรวจสอบให้แน่ใจว่าset-clipboard
ตัวเลือกปิดอยู่:
set-option -s set-clipboard off
ตัวเลือกนี้อาจได้รับการสนับสนุนและเปิดใช้งานโดยค่าเริ่มต้นใน iTerm2 (ดูset-clipboard
ในคู่มือ tmux) ซึ่งจะอธิบายพฤติกรรมที่มี
จากนั้นเราสามารถผูกโหมดการคัดลอกMouseDragEnd1Pane
"กุญแจ" เช่นเมื่อปุ่มเมาส์แรกถูกปล่อยหลังจากคลิกและลากในบานหน้าต่างไปยังคำสั่ง tmux ซึ่งจะเลือกการคัดลอกโหมดปัจจุบัน (ทำโดยการผูกเริ่มต้นMouseDrag1Pane
) และไพพ์กับคำสั่งเชลล์ คำสั่งนี้เป็น tmux copy-pipe
ก่อน tmux 2.4 และได้มีการเปลี่ยนแปลงsend-keys -X copy-pipe[-and-cancel]
ไป สำหรับคำสั่งเชลล์เราเพียงต้องการสิ่งที่จะตั้งค่าเนื้อหาของคลิปบอร์ดของระบบเป็นสิ่งที่ถูกประปาไป xclip ใช้เพื่อทำสิ่งนี้ในคำสั่งต่อไปนี้ การทดแทนที่เทียบเท่าสำหรับ"xclip -selection clipboard -i"
ด้านล่างบนแพลตฟอร์มที่ไม่ใช่ X คือ"wl-copy"
(Wayland), "pbcopy"
(macOS), "clip.exe"
(Windows, WSL) และ"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 ถึง 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"
ก่อน tmux 2.2:
คัดลอกสนับสนุนหลังการลากเมาส์ถูกบันทึกครั้งแรกใน Tmux 1.3 ผ่านการตั้งค่าใหม่ตัวเลือกในการmode-mouse
on
Tmux 2.1 เปลี่ยนการสนับสนุนเมาส์เป็นการผูกคีย์เมาส์ที่คุ้นเคย แต่ไม่มีDragEnd
การโยงซึ่งแนะนำใน 2.2 ดังนั้นก่อน 2.2 ฉันเชื่อว่าวิธีเดียวในการตั้งค่าคลิปบอร์ดระบบในการลากเมาส์คือการใช้ xterm escape sequences ในset-clipboard
ตัว( ตัวเลือก) ซึ่งหมายความว่าจำเป็นต้องอัปเดตเป็นอย่างน้อย tmux 2.2 เพื่อรับพฤติกรรมการลากและคัดลอกสำหรับเทอร์มินัลที่ไม่สนับสนุนset-clipboard
เช่นเทอร์มินัล GNOME