เพื่อคัดลอกข้อความไปยังคลิปบอร์ด X ใน tmux สิ่งที่ฉันทำในปัจจุบันคือ:
- ไปโหมดการเลือกด้วย prefix[
- เริ่มต้นการเลือกด้วยspace(โดยใช้
mode-keys vi
btw) - เลือกข้อความและกด enter
- คัดลอกบัฟเฟอร์ tmux ไปที่ X คลิปบอร์ดโดยใช้ prefixctrl+c
(ฉันมีแผนที่เป็น bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
ฉันพยายามกำจัดขั้นตอนเหล่านี้ด้วยการทำแผนที่สำหรับโหมดการเลือก ฉันเหนื่อย:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
ซึ่งให้ฉันและข้อผิดพลาด:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(ฉันไม่สามารถคัดลอกข้อผิดพลาด)
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
แก้ไข:ฉันรู้ว่าฉันสามารถเลือกและคัดลอกไปยัง tmux buffer (3 ขั้นตอนแรก) โดยใช้เมาส์เหมือนกับการเลือกทั่วไป (แม้ว่าการไฮไลต์จะไม่คงอยู่ แต่ก็ยังเลือกข้อความ) จากนั้นใช้การผูกดังต่อไปนี้เพื่อคัดลอกไปยังคลิปบอร์ด x :
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(ฉันใช้วิธีนี้เพื่อคัดลอกข้อความนี้และมันง่าย;)
โปรดทราบว่า-n
หมายถึง "ไม่มีคำนำหน้า" ดังนั้นจึงไม่จำเป็นต้องหลบหนี หากคุณไม่สับสนกับการไฮไลต์ที่หายไปการทำสำเนานี้คล้ายกับการคัดลอกปกติ (ส่วนต่อประสานผู้ใช้ทั่วไป)
นี่คือสิ่งที่ดีที่สุดที่ฉันเคยพบมา ..
EDIT2:กลายเป็นctrl+cทับซ้อนกับสิ่งที่ขัดจังหวะกระบวนการดังนั้นฉันเปลี่ยนเป็นctrl+alt+cตอนนี้ (ไม่ค่อยชอบเท่าไหร่)
EDIT3: tmux 1.8 หรือเพิ่มการสนับสนุนเพื่อเพิ่มการโยงคีย์ในโหมดการคัดลอกดังนั้นตอนนี้ความตั้งใจดั้งเดิมครั้งแรกของฉันก็เป็นไปได้โดยใช้บางสิ่งเช่น:
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
การเชื่อมทั้งสองนี้ทำให้สามารถคัดลอกข้อความไปยังคลิปบอร์ดเมื่อฉันใช้enterหรือyทำการคัดลอกจนเสร็จ
ฉันยังคงบรรทัดนี้ในกรณีที่ฉันคัดลอกด้วยเมาส์และตัดสินใจที่จะได้รับเนื้อหาบัฟเฟอร์ tmux ไปยังคลิปบอร์ดในภายหลัง:
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
^c
เป็นคีย์ขัดจังหวะขณะที่ฉันใช้บ่อยกว่าการคัดลอก ฉันได้อัปเดตคำตอบเพื่อแสดงวิธีแก้ไขปัญหาปัจจุบันของฉันด้วย
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
แสดงสดให้:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
ผลดี
stty intr=^Z
Ctrl-Z: ระวังด้วยคำสั่งนั้นเป็นไปได้ที่จะตั้งค่าอักขระปกติให้เป็นอักขระขัดจังหวะ (ถ้าคุณทำเช่นนั้นใช้ ctrl-v เพื่อป้อนมันจนกว่าจะแก้ไขการตั้งค่า) และอย่าสับสนกับคีย์ที่ใช้ (เช่น ctrl-z โดยปกติคือคีย์ suspend)