คัดลอกไปยังคลิปบอร์ดจาก Tmux ใน El Capitan


19

ฉันมีความสุขมากกับการเปลี่ยนแปลง Terminal ใน El Capitan (ดูเช่นคำถามนี้ )

อย่างไรก็ตามฉันไม่สามารถหาวิธีการเปิดใช้งานการคัดลอกไปยังคลิปบอร์ดของระบบจากภายใน Tmux ตัวอย่างเช่นตอนนี้ฉันสามารถเลือกข้อความภายใน Tmux ได้อย่างถูกต้องด้วยเมาส์ฉันจะคัดลอกข้อความที่เลือกไปยังคลิปบอร์ดได้อย่างไรนอกเหนือจากบัฟเฟอร์ของ Tmux เอง?

ฉันมีดังต่อไปนี้ในของฉันtmux.conf:

setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on

setw -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

ฉันพยายามแก้ไขบรรทัดสุดท้ายเป็น

bind-key -t vi-copy 'y' copy-selection \; copy-pipe "pbcopy"

แต่มันไม่ได้ผลจริงๆ จะขอบคุณสำหรับคำแนะนำ!

ขอบคุณ!


Cmd-C ไม่ทำงานใช่ไหม
nohillside

1
@partix - ไม่เนื่องจากข้อความที่คัดลอกถูกยกเลิกการเลือกโดยอัตโนมัติหลังจากปล่อยปุ่มเมาส์ (หรือแทร็คแพด) แน่นอนมันทำงานได้ใน Terminal แต่ไม่ใช่จาก Tmux ภายในเทอร์มินัล
siphiuel

อัปเดตเป็น Tmux 2.1 การเลื่อนเมาส์ที่พังในบานหน้าต่าง Tmux
siphiuel

คำตอบ:


27

ที่จริงฉันเพิ่งพบทางออกที่ง่ายมากวิธีการเปิดใช้งานการคัดลอกโดยใช้ Cmd + C อีกครั้ง

ในแอปพลิเคชันเทอร์มินัลเริ่มต้นให้ไปที่ View -> "อนุญาตการรายงานเมาส์" และยกเลิกการเลือก แค่นั้นแหละ.

PS: เห็นได้ชัดว่าคุณสมบัติที่ดีใหม่เช่นการลากหน้าจอแยกใน tmux หยุดทำงานหลังจากยกเลิกการเลือกการรายงานเมาส์


PS: ก่อนหน้านี้ฉันเคยใช้วิธีแก้ปัญหาจาก @siphiuel ซึ่งใช้งานได้ดี
Oplatek

1
ขอขอบคุณ!!! นี่เป็นวิธีที่ง่ายที่สุด! มีเพียงประวัติที่ถูกทำลายฉันสามารถเห็นส่วนหนึ่งของ hitstory
Sato

สุดยอดมาก งานนี้
ShikharDua

และสิ่งนี้ยังใช้งานได้สำหรับเซสชัน tmux ระยะไกล ฉันคิดว่าการbind-key ... copy-pipeแก้ปัญหาอาจทำงานได้ถ้ามันเป็นเซสชั่น tmux ท้องถิ่น จากนั้นอีกครั้งบางทีถ้าคุณทำเซสชัน tmux แบบรีโมตภายในเซสชัน tmux แบบโลคัลอาจใช้งานได้? อย่างไรก็ตามการยกเลิกการเลือก "อนุญาตการรายงานเมาส์" ได้ผลสำหรับฉันและยังมีทางลัด⌘-R (Cmd-R) เพื่อให้คุณสามารถสลับมันเพื่อทำสำเนาได้อย่างรวดเร็วจากนั้นกลับมาอีกครั้ง
Aaron Wallentine

24

หากคุณใช้ iTerm2 3.x คุณสามารถทำสำเนา / วางงานได้โดยเปิดใช้งานApplications in terminal may access clipboard:

ป้อนคำอธิบายรูปภาพที่นี่

เพียงไฮไลต์ข้อความด้วยเมาส์เพื่อคัดลอกไปยังคลิปบอร์ด OS X!

นอกจากนี้คุณยังสามารถวางจากคลิปบอร์ด OS X ลงใน tmux กับปกติ+CmdV


2
นี่เป็นทางออกที่ง่ายที่สุดสำหรับฉัน
lennart

นี่มันเจ๋งมาก!
mljrg

17

หากคุณกดปุ่มฟังก์ชั่นค้างไว้คุณสามารถเลือกและคัดลอกไปยังคลิปบอร์ดด้วย apple + c ได้เช่นกัน


เรากำลังมองหาคำตอบมากกว่าหนึ่งคำ ลองขยายคำตอบของคุณเพื่อให้รายละเอียดเพิ่มเติม
อัลลัน

2
@ Allan นี่คือคำตอบที่สมบูรณ์แม้ว่ามันจะเป็นเพียงบรรทัดเดียว มันง่ายมาก
pkuhar

btw ฉันพบว่าใช้งานได้เฉพาะกับแป้นพิมพ์แล็ปท็อปไม่ได้ติดตั้งคีย์บอร์ด :(
amohr

8

ที่จริงแล้วฉันผิดเมื่อระบุcopy-pipeว่าไม่ได้ผล มันทำและcopy-selectionจากนั้นฟุ่มเฟือยในขณะที่copy-pipeทั้งสองคัดลอกข้อความไปยัง Tmux pasteboard และไพพ์ไปยังคำสั่งเชลล์โดยพลการ ดังนั้นบรรทัดต่อไปนี้ใช้งานได้:

bind-key -t vi-copy 'y' copy-pipe "pbcopy"

อย่างไรก็ตามจำเป็นต้องกดyก่อนปล่อยปุ่มเมาส์ ฉันได้พบสิ่งนี้ในเอกสารประกอบสำหรับปลั๊กอินtmux-yank :

"เมื่อทำการเลือกโดยใช้เมาส์โหมด tmux หรือโหมดคัดลอกเมาส์โหมดคุณไม่สามารถพึ่งพาการปล่อยเมาส์เริ่มต้นหลังจากการเลือกเพื่อคัดลอก 'พฤติกรรมแทนกด y ก่อนปล่อยเมาส์"

ดังนั้นจึงใช้งานได้ แต่ต้องกดที่ค่อนข้างน่ารำคาญyเพื่อคัดลอกข้อความที่เลือกโดยเมาส์


3
หากคุณใช้ Terminal.app: ใน macOS Sierra สิ่งนี้จะไม่ทำงานเนื่องจากการถดถอยในลักษณะการทำงานของ Terminal.app คุณจะต้องใช้การแฮ็ค "reattach-to-user-namespace" อีกครั้ง
m1keil

1
เห็นด้วยกับความคิดเห็น @ m1keil ยิ่งกว่านั้นด้วยเหตุผลบางอย่างฉันต้องคอมไพล์ reattach-to-user-namespace ด้วยสวิตช์เพิ่มเติม, เช่นนี้: brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste(ฉันใช้ Homebrew)
siphiuel

4

การใช้ tmux เวอร์ชัน 2.2 หรือใหม่กว่าเพิ่มสิ่งต่อไปนี้ในไฟล์ tmux.conf ของคุณ:

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

ใช้งานได้กับ El Capitan 10.11, tmux 2.7
Homer

3

คำตอบของ @Oplatek จะมีผล

ในแอปพลิเคชันเทอร์มินัลเริ่มต้นให้ไปที่ View -> "อนุญาตการรายงานเมาส์" และยกเลิกการเลือก

แต่ด้วยวิธีนี้เราจะไม่สามารถเลื่อนหน้าจอด้วยเมาส์ได้

นี่เป็นอีกวิธีหนึ่งโดยไม่ปิดการใช้งานAllow mouse reporting: กดFnและเลือกข้อความด้วยเมาส์


0

การใช้ tmux 2.2, OS X El Capitan, เวอร์ชันเทอร์มินัล 2.6.1 (ค่าเริ่มต้นที่มาพร้อมกับ El Capitan) การตั้งค่าต่อไปนี้ทำงานได้อย่างไร้ที่ติ (จนถึงตอนนี้)

$ cat ~/.tmux.conf
set -g mouse on
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

หากต้องการคัดลอกให้กดปุ่มซ้ายของเมาส์ทำเครื่องหมายข้อความแล้วปล่อย ข้อความที่ทำเครื่องหมายจะอยู่ในคลิปบอร์ดและสามารถวางด้วยCmd+ vตามปกติ


-2

ฉันหาทางเดียวเท่านั้น

เปิดการตั้งค่า / ส่วนกำหนดค่าเทอร์มินัลในข้อมูลเทอร์มินัลเปลี่ยนประเภทเทอร์มินัลจาก xterm-256 เป็น ansi เปิดหน้าต่างเทอร์มินัลใหม่และสนุก :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.