การคัดลอกวางของ MacVim หยุดทำงานเมื่อฉันเรียกใช้จากเทอร์มินัล tmux (บน zsh) ถ้าฉันออกจาก tmux แล้วเปิดใช้งานการคัดลอกที่ผ่านมาของ MacVim ความคิดวิธีการแก้ไขปัญหานี้?
การคัดลอกวางของ MacVim หยุดทำงานเมื่อฉันเรียกใช้จากเทอร์มินัล tmux (บน zsh) ถ้าฉันออกจาก tmux แล้วเปิดใช้งานการคัดลอกที่ผ่านมาของ MacVim ความคิดวิธีการแก้ไขปัญหานี้?
คำตอบ:
คุณอาจลองแก้ไขที่กล่าวถึงในหัวข้อที่เกี่ยวข้อง ( “ 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 (และผู้ที่โปรแกรมปรับปรุงด้านบนทำงานได้ไม่เป็นที่น่าพอใจ) อาจต้องการลองใช้วิธีแก้ปัญหาของฉัน
^b + [
เริ่มโหมดเรียกดูและใช้Space
+ Enter
เพื่อเลือกและคัดลอกข้อความฉันจะไม่สามารถวางลงใน mac vim ได้ กรุณาแนะนำ?
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
เมื่อคุณมีการเลือกของคุณ)
y
ตอนนี้: D
Chris Johnsen ได้ทำเสื้อคลุมซึ่งแก้ปัญหาการใช้ pbcopy และ pbpase บน OSX https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard (สาเหตุที่แท้จริงของปัญหา MacVim ด้านบน)
อีกวิธีหนึ่งในการแก้ไขปัญหาที่ Chrish Johnsen อธิบายไว้ในความยาว
(เรื่องสั้นสั้น: Tmux สูญเสียการเข้าถึงบัฟเฟอร์ของ OS X เนื่องจากวิธีการเปิดตัวเอง)
คืออย่าลืมเปิด MacVim จากโฟลเดอร์แอปพลิเคชันหรือเทอร์มินัลเซสชันที่ไม่ใช่ tmux
และใช้สิ่งนี้
http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line
การสอนเกี่ยวกับการเปิดไฟล์ต่าง ๆ ในแท็บใหม่ในหน้าต่าง MacVim เดียวกันเสมอ
หน้าต่าง MacVim นั้นจะสามารถเข้าถึงบัฟเฟอร์การวางได้แล้วและคุณไม่ต้องผ่านห่วงอื่น ๆ
แต่คุณจะต้องอย่าลืมเปิดตัว MacVim ด้วย tmux ในการโหลดครั้งแรก :(