เสียงเรียกเข้าปกติ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
นี่จะเป็นการคัดลอกไฟล์ทั้งหมดไปยังตำแหน่งที่เคอร์เซอร์ของคุณ ...