เสียงเรียกเข้าปกติyank
และใช้paste
งานได้เฉพาะในหน้าต่างเดียวกัน (แต่ทำงานข้ามไฟล์และปิด / บันทึกคำสั่ง) เป็นไปได้หรือไม่ที่จะทำให้มันทำงานข้ามขั้ว (งัดจากหน้าต่างหนึ่งในเทอร์มินัลหนึ่งไปวางอีกอัน) และถ้าเป็นเช่นนั้นได้อย่างไร?
เสียงเรียกเข้าปกติyank
และใช้paste
งานได้เฉพาะในหน้าต่างเดียวกัน (แต่ทำงานข้ามไฟล์และปิด / บันทึกคำสั่ง) เป็นไปได้หรือไม่ที่จะทำให้มันทำงานข้ามขั้ว (งัดจากหน้าต่างหนึ่งในเทอร์มินัลหนึ่งไปวางอีกอัน) และถ้าเป็นเช่นนั้นได้อย่างไร?
คำตอบ:
อาจเป็นสิ่งที่ง่ายที่สุดสำหรับคุณที่จะลองคือการใส่set clipboard=unnamed
ของคุณ.vimrc
และเริ่มเซสชันเสียงเรียกเข้าของคุณ
สิ่งนี้ช่วยให้คุณเรียกใช้yank
(เช่นyy
) ในหน้าต่างหนึ่งและput
(เช่นp
) ในหน้าต่างอื่นจะใช้งานได้เนื่องจากเซสชัน vim ทั้งหมดจะแชร์บัฟเฟอร์การเลือก X เดียวกัน
ข้อเสีย yank buffer ของคุณจะถูกเขียนทับทันทีที่คุณเลือกข้อความในหน้าต่างอื่นของแอพพลิเคชั่น
กลับหัวกลับหางก็หมายความว่าสิ่งที่คุณดึงเป็นกลุ่มในขณะนี้สามารถวางลงในโปรแกรมใด ๆ โดยการคลิกกลาง
หากคุณไม่ชอบวิธีนั้นคุณสามารถพิมพ์"+
หรือ"*
ก่อนที่จะดึงและใส่คำสั่งเช่น"+yy
เพื่อดึงสาย
+
รูปแบบโต้ตอบกับคลิปบอร์ด ( "+y
เป็นเหมือนCtrl+ C, "+p
เป็นเหมือนCtrl+ V) รูปแบบโต้ตอบกับบัฟเฟอร์เลือก ( เป็นเหมือนคลิกซ้ายและลากเป็นเหมือนการคลิกกลาง)*
"*y
"*p
ดูการทำ GUI เลือก , การสนับสนุนการเลือก X11และคลิปบอร์ดและเมาส์ตัวเลือกสำหรับรายละเอียด
set clipboard=unnamed
ไม่ทำงานสำหรับฉัน (ฉันใส่ไว้ใน. vimrc และเริ่มเซสชัน vim ทั้งหมดใหม่) น่าเสียดายที่ไม่ได้ทำวิธีอื่น ดูเหมือนว่ากลุ่มของฉันไม่ได้ถูกคอมไพล์ด้วย x-support ฉันใช้ VNC เพื่อเชื่อมต่อกับเครื่อง linux จากเครื่อง windows
:echo has('x11')
ถ้าสนับสนุน X 1
มีการเปิดใช้งานจะพิมพ์
หากคุณต้องการคัดลอกไฟล์ทั้งหมดลงในไฟล์เป้าหมายของคุณ
เปิดไฟล์เป้าหมายของคุณเป็นกลุ่ม
วางเคอร์เซอร์ของคุณในตำแหน่งที่คุณต้องการและพิมพ์ดังต่อไปนี้:
:r /path_to_file/file.ext
นี่จะเป็นการคัดลอกไฟล์ทั้งหมดไปยังตำแหน่งที่เคอร์เซอร์ของคุณ ...