ใครบ้างมีโซลูชันที่สง่างามสำหรับการใช้ MacVim หรือ gvim ในจอภาพหลายจอ (ความละเอียดที่แตกต่างกัน) การมี 2 เซสชันใช้งานไม่ได้เนื่องจากบัฟเฟอร์ที่แยกและสลับไฟล์
คุณคิดว่าคุณอาจมี 2 gui windows แชร์บัฟเฟอร์เดียวกัน แต่ฉันไม่พบสิ่งใดที่ใช้งานได้
ใครบ้างมีโซลูชันที่สง่างามสำหรับการใช้ MacVim หรือ gvim ในจอภาพหลายจอ (ความละเอียดที่แตกต่างกัน) การมี 2 เซสชันใช้งานไม่ได้เนื่องจากบัฟเฟอร์ที่แยกและสลับไฟล์
คุณคิดว่าคุณอาจมี 2 gui windows แชร์บัฟเฟอร์เดียวกัน แต่ฉันไม่พบสิ่งใดที่ใช้งานได้
คำตอบ:
ขยายgvim
หน้าต่างเพื่อให้ครอบคลุมทั้งสองหน้าจอและใช้CTRL-W vเพื่อแยกหน้าต่างแก้ไขในแนวตั้ง
ดู:help CTRL-W
คำสั่งหน้าต่างเพิ่มเติม
ฉันมักจะใช้จอภาพหลายจอดังนั้นฉันจึงใช้วิธีแก้ปัญหาง่าย ๆ จนกว่า vim จะใช้คุณสมบัตินี้ ด้วยการใช้สคริปต์ lua ชื่อ gitv ฉันสามารถเปิดไฟล์ในหลาย ๆ กรณีของ GVIM ได้ในเวลาเดียวกัน โดยทั่วไปเมื่อมีสองอินสแตนซ์ของ GVIM ชื่อ GVIM1 และ GVIM2 สิ่งที่ฉันทำก็เพื่อให้แน่ใจว่ามีเพียงหนึ่งไฟล์เท่านั้นที่สามารถแก้ไขได้ในครั้งเดียวและอื่น ๆ ทั้งหมดเป็นผู้ชม (ทุกอย่างทำโดยอัตโนมัติโดยไม่ต้องแจ้งให้ทราบ)
เวิร์กโฟลว์: ปัจจุบัน gitv ถูกออกแบบมาสำหรับที่เก็บ git ดังนั้นจึงสามารถใช้สำหรับไฟล์เหล่านั้นในที่เก็บ git เท่านั้น คุณสามารถเปลี่ยนพฤติกรรมเริ่มต้นนี้ได้อย่างง่ายดายโดยการแก้ไขฟังก์ชัน lsFiles ()
หากต้องการเปิด a.txt ครั้งแรกใน GVIM1 ให้ใช้
$ gitv gvimr GVIM1 a.txt
นี่จะเปิดหน้าต่าง gvim หากไม่มีอยู่ จากนั้นเพื่อเปิด a.txt เดียวกันบนอินสแตนซ์อื่นของ GVIM2 ให้ใช้
$ gitv gvimr GVIM2 a.txt
(หรือคุณสามารถสร้างชื่อแทนเช่น $ gvim2 a.txt)
จากนั้น gitv ภายในทำสิ่งต่อไปนี้:
หากคุณต้องการแก้ไข a.txt บนจอภาพ 1 แทนมอนิเตอร์ 2 ให้ทำเช่นนี้เพื่อสลับบัฟเฟอร์ที่ใช้งานอยู่: $ gitv gvimr GVIM1 a.txt (หรือ gvim1 a.txt) ซึ่งสามารถทำได้ง่ายขึ้นภายใน gvim1 โดยใช้ ctrl + g + a.txt
(ซึ่งจะตั้งค่าบัฟเฟอร์เดียวกันโดยอัตโนมัติเปิดในอินสแตนซ์อื่นของ gvim "อ่านอย่างเดียว" เพื่อป้องกันข้อมูลเสียหาย)
สามารถดาวน์โหลด gitv ได้ที่นี่: http://code.google.com/p/gitv/ ผ่านการทดสอบบน linux gvim เท่านั้น แต่สามารถส่งไปยัง MacVIM ได้อย่างง่ายดาย