คัดลอกวางไม่ทำงานใน MacVim เมื่อเปิดตัวใน tmux


19

การคัดลอกวางของ MacVim หยุดทำงานเมื่อฉันเรียกใช้จากเทอร์มินัล tmux (บน zsh) ถ้าฉันออกจาก tmux แล้วเปิดใช้งานการคัดลอกที่ผ่านมาของ MacVim ความคิดวิธีการแก้ไขปัญหานี้?


คุณคัดลอกอย่างไร แม้ว่าฉันจะไม่คุ้นเคยกับปัญหาเฉพาะของคุณ แต่โดยทั่วไปแล้วทางลัดหนึ่งจะไม่สามารถใช้งานได้อีก
Yitzchak

คำสั่ง C / V สิ่งต่าง ๆ ใช้งานได้ดีถ้าฉันเปิดตัวนอก tmux ดังนั้นมันจึงเกี่ยวข้องกับ tmux อย่างแน่นอน
Lisa

คำตอบ:


16

คุณอาจลองแก้ไขที่กล่าวถึงในหัวข้อที่เกี่ยวข้อง ( “ OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy ไม่ทำงานภายใต้ tmux” ) จากรายชื่อผู้รับจดหมาย tmux (โฮสต์จริงที่ sf.net แต่ ฉันเกลียดอินเตอร์เฟซการเก็บถาวรของพวกเขา )

หมายเหตุ: แพทช์ได้ในเวลาหนึ่งนำไปใช้กับพอร์ต MacPorts แต่ต่อมาก็หวนกลับเมื่อมันถูกสงสัยว่าจะก่อให้เกิดข้อผิดพลาดอื่นอย่างไรก็ตามข้อผิดพลาดเหล่านั้นอาจเกิดจากการชอบ libevent เวอร์ชันผิด (และดูเหมือนว่าtmux เวอร์ชันล่าสุดจะทำงานกับ libevent เวอร์ชันใดรุ่นหนึ่ง )


ตั้งแต่helgeg ยกขึ้นฉันจะพูดถึงบันทึกย่อของฉันเกี่ยวกับความพยายามของฉันที่จะใช้แพตช์อ้างอิงด้านบน

สรุป: ฉันพบแพตช์ที่ไม่น่าเชื่อถือ มันอนุญาตการเข้าถึงกระดาษแข็ง แต่มันเปิดข้อความเตือนจำนวนมากจากการติดตั้งlibeventรุ่นที่ 2 ของฉัน(อาจเป็นรุ่นที่ 1 ที่ได้รับผลกระทบน้อยกว่า) นอกจากนี้ยังป้องกันไม่ให้เซิร์ฟเวอร์tmuxทำforkปกติ(2) (ผ่านdaemon (3) ) ซึ่งเป็นการเปลี่ยนแปลงที่สำคัญในการออกแบบกระบวนการเซิร์ฟเวอร์ให้ทำงาน

ฉันสิ้นสุดการเผยแพร่โปรแกรมที่ทำงานแก้ไขปัญหาโดยไม่ต้องปะ tmux ผู้ใช้ที่มีปัญหาในการใช้แผ่นข้อมูลภายใต้tmux (และผู้ที่โปรแกรมปรับปรุงด้านบนทำงานได้ไม่เป็นที่น่าพอใจ) อาจต้องการลองใช้วิธีแก้ปัญหาของฉัน


ขอบคุณมากสำหรับการตรวจสอบของคุณเกี่ยวกับปัญหาที่น่ารำคาญจริง ๆ และวิธีแก้ปัญหาที่ยอดเยี่ยมมันใช้งานได้อย่างมีเสน่ห์
mko

ขอบคุณมากสำหรับสิ่งนี้ ฉันสามารถคัดลอกข้อความจาก iTerm และวางลงใน mac vim ที่เริ่มใน tmux ทันที อย่างไรก็ตามหากฉัน^b + [เริ่มโหมดเรียกดูและใช้Space+ Enterเพื่อเลือกและคัดลอกข้อความฉันจะไม่สามารถวางลงใน mac vim ได้ กรุณาแนะนำ?
Phuong Nguyen

1
@PhuongNguyen: ออกจากcopy-modeแบบนั้นเพียงแค่คัดลอกลงในบัฟเฟอร์tmuxไม่ใช่Pasteboard ของ Mac คุณสามารถใช้คำสั่งVim:r!tmux save-buffer -เพื่ออ่านบัฟเฟอร์ หรือคุณสามารถจัดเรียงเพื่อคัดลอกข้อมูลไปยัง Mac pasteboard: tmux save-buffer - | reattach-to-user-namespace pbcopy(อาจเป็นการรวมtmuxผ่านrun-shell) หรือ (ในtmux 1.8+) ออกcopy-modeด้วยการผูกเช่นbind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(เช่นใช้yแทนEnterเมื่อคุณมีการเลือกของคุณ)
Chris Johnsen

ขอบคุณชาย ฉันกำลังใช้การเชื่อมโยงกับyตอนนี้: D
Phuong Nguyen


0

อีกวิธีหนึ่งในการแก้ไขปัญหาที่ Chrish Johnsen อธิบายไว้ในความยาว

(เรื่องสั้นสั้น: Tmux สูญเสียการเข้าถึงบัฟเฟอร์ของ OS X เนื่องจากวิธีการเปิดตัวเอง)

คืออย่าลืมเปิด MacVim จากโฟลเดอร์แอปพลิเคชันหรือเทอร์มินัลเซสชันที่ไม่ใช่ tmux

และใช้สิ่งนี้

http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line

การสอนเกี่ยวกับการเปิดไฟล์ต่าง ๆ ในแท็บใหม่ในหน้าต่าง MacVim เดียวกันเสมอ

หน้าต่าง MacVim นั้นจะสามารถเข้าถึงบัฟเฟอร์การวางได้แล้วและคุณไม่ต้องผ่านห่วงอื่น ๆ

แต่คุณจะต้องอย่าลืมเปิดตัว MacVim ด้วย tmux ในการโหลดครั้งแรก :(

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