คัดลอกไปยังคลิปบอร์ดระบบใน tmux
สนับสนุน:
วิธีที่ง่ายที่สุดในการติดตั้ง tmux-yank คือผ่านตัวจัดการปลั๊กอิน TMUX
เพิ่มปลั๊กอินลงในรายการปลั๊กอิน TPM ใน .tmux.conf :
set -g @plugin ' tmux-plugins/tmux-yank ' ใช้ คำนำหน้า - ฉัน ติดตั้ง tmux-yank ตอนนี้คุณควรจะสามารถ tmux-yank ได้ทันที
เมื่อคุณต้องการอัปเดตคำนำ หน้า tmux-yank - u
โคลนที่เก็บ
$ git clone https://github.com/tmux-plugins/tmux-yank ~ /clone/path เพิ่มบรรทัดนี้ไปที่ด้านล่างของ .tmux.conf
run-shell ~ /clone/path/yank.tmux โหลดสภาพแวดล้อม tmux ใหม่
# type this inside tmux
$ tmux source-file ~ /.tmux.conf ตอนนี้คุณควรจะสามารถใช้ tmux-yank ได้ทันที
เพื่อให้ tmux-yank ทำงานต้องมีโปรแกรมที่เก็บข้อมูลในคลิปบอร์ดระบบ
reattach-to-user-namespace หมายเหตุ : MacOS บางรุ่น (AKA OS X) ได้รับการรายงานว่าทำงานโดยไม่ reattach-to-user-namespace ไม่เจ็บที่จะติดตั้ง
วิธีที่ง่ายที่สุดในการใช้ reattach-to-user-namespace กับ tmux คือใช้เพื่อใช้ปลั๊กอิน tmux-sensible
เพื่อใช้ด้วยตนเองใช้:
# ~/.tmux.conf
set-option -g default-command " reattach-to-user-namespace -l $SHELL " หากคุณมี tmux 1.5 หรือใหม่กว่าและใช้ ITERM2 เวอร์ชัน 3 หรือใหม่กว่า Y ใน copy-mode และการเลือกเมาส์จะทำงานได้โดยไม่ต้อง tmux-yank
เพื่อเปิดใช้งานสิ่งนี้:
ไปที่การตั้งค่าของ ITERM2
ไปที่แท็บ "ทั่วไป"
ตรวจสอบ "แอปพลิเคชันในเทอร์มินัลอาจเข้าถึงคลิปบอร์ด"
ใน tmux ให้แน่ใจว่าเปิด set-clipboard :
$ tmux show-options -g -s set-clipboard
set-clipboard on$ brew install reattach-to-user-namespace$ sudo port install tmux-pasteboardxsel (แนะนำ) หรือ xclip (สำหรับ x)wl-copy จาก WL-CLIPBOARD (สำหรับ Wayland) หากคุณมี tmux 1.5 หรือใหม่กว่าและใช้ xterm การ เลือก copy-mode และการเลือกเมาส์จะทำงานได้โดยไม่ต้องใช้ tmux-yank ดูรายการ tmux(1) MAN PAGE สำหรับตัวเลือก set-clipboard
$ sudo apt-get install xsel # or xclip $ sudo yum install xsel # or xclipputclip ซึ่งเป็นส่วนหนึ่งของแพ็คเกจ cygutils-extraclip.exe จัดส่งด้วยระบบย่อย Windows สำหรับ Linux โหมดปกติ
คำนำหน้า - Y - คัดลอกข้อความจากบรรทัดคำสั่งไปยังคลิปบอร์ด
ทำงานร่วมกับเชลล์/REPL ยอดนิยมทั้งหมด ทดสอบด้วย:
bash , zsh (กับ bindkey -e ), tcshirb , pry , node , psql , python , php -a , coffeessh , MOSHคำนำหน้า - y - คัดลอกไดเรกทอรีการทำงานปัจจุบันของบานหน้าต่างปัจจุบันไปยังคลิปบอร์ด
โหมดคัดลอก
Tmux-yank ทำดีที่สุดในการตรวจจับตัวเลือกที่สมเหตุสมผลสำหรับโปรแกรมคลิปบอร์ดบนระบบปฏิบัติการของคุณ
หาก TMUX-YANK ไม่สามารถตรวจจับโปรแกรมคลิปบอร์ดที่รู้จักได้ก็จะใช้ตัวเลือก @custom_copy_command TMUX เป็นโปรแกรมคลิปบอร์ดของคุณหากตั้งค่า
หากคุณต้องการแทนที่ตัวเลือกของ Tmux-yank สำหรับโปรแกรมคลิปบอร์ดเสมอคุณสามารถตั้งค่า @override_copy_command เพื่อบังคับให้ Tmux-Yank ใช้สิ่งที่คุณต้องการ
โปรดทราบว่าทั้งสองโปรแกรม จะต้อง ยอมรับ STDIN สำหรับข้อความที่จะคัดลอก
ตัวอย่างของการตั้งค่า @override_copy_command :
# ~/.tmux.conf
set -g @custom_copy_command ' my-clipboard-copy --some-arg '
# or
set -g @override_copy_command ' my-clipboard-copy --some-arg ' Linux มีคลิปบอร์ดตัดและวางหลาย: primary secondary และ clipboard (ค่าเริ่มต้นใน tmux-yank คือ clipboard )
คุณสามารถเปลี่ยนสิ่งนี้ได้โดยการตั้งค่า @yank_selection :
# ~/.tmux.conf
set -g @yank_selection ' primary ' # or 'secondary' or 'clipboard' เมื่อเปิดการรองรับเมาส์ (ดูด้านล่าง) คลิปบอร์ดเริ่มต้นสำหรับการเลือกเมาส์เป็น primary
คุณสามารถเปลี่ยนสิ่งนี้ได้โดยการตั้งค่า @yank_selection_mouse :
# ~/.tmux.conf
set -g @yank_selection_mouse ' clipboard ' # or 'primary' or 'secondary' โดยค่าเริ่มต้น tmux-yank จะออกจากโหมดคัดลอกหลังจากการดึงข้อความ หากคุณต้องการอยู่ในโหมดคัดลอกคุณสามารถตั้งค่า @yank_action :
# ~/.tmux.conf
set -g @yank_action ' copy-pipe ' # or 'copy-pipe-and-cancel' for the default tmux-yank เปิดใช้งานการสนับสนุนเมาส์โดยค่าเริ่มต้น มันจะใช้ได้เฉพาะในกรณีที่การรองรับเมาส์ในตัวของ tmux ยังเปิดใช้งาน (พร้อม mouse on ตั้งแต่ tmux 2.1 หรือ mode-mouse on ในรุ่นเก่า)
หากต้องการดึงเมาส์ให้คลิกและลากด้วยปุ่มหลักเพื่อเริ่มการเลือกและปล่อยไปที่ Heank
หากคุณต้องการปิดการใช้งานพฤติกรรมนี้หรือให้การผูกมัดของคุณเองสำหรับเหตุการณ์ MouseDragEnd1Pane คุณสามารถทำได้ด้วย:
# ~/.tmux.conf
set -g @yank_with_mouse off # or 'on' หากคุณต้องการอยู่ในโหมดคัดลอกหลังจากทำการเลือกเมาส์ให้ตั้งค่า @yank_action ตามที่อธิบายไว้ข้างต้น
หากใช้ tmux 2.3 ขึ้นไป และ ใช้คีย์ VI คุณจะเพิ่มการตั้งค่าการกำหนดค่าต่อไปนี้:
# ~/.tmux.conf
set -g @shell_mode ' vi ' สิ่งนี้ไม่จำเป็นสำหรับ tmux 2.4 หรือใหม่กว่า

หมายเหตุ : การควบคุม การหล่อหน้าจอ -Y สำหรับ "ใส่การเลือก" ใช้ y ใน v2.0.0 และใหม่กว่า
มิกซ์