เป็นไปได้ไหมที่จะเลื่อนส่วนซ้ายและขวาของหน้าต่างแยกแนวตั้งใน Vim ฉันมีสองไฟล์ที่ฉันต้องการเปรียบเทียบโดยคร่าวๆ แต่ละบรรทัดของไฟล์เหล่านี้มีลักษณะเกือบเหมือนกัน
เป็นไปได้ไหมที่จะเลื่อนส่วนซ้ายและขวาของหน้าต่างแยกแนวตั้งใน Vim ฉันมีสองไฟล์ที่ฉันต้องการเปรียบเทียบโดยคร่าวๆ แต่ละบรรทัดของไฟล์เหล่านี้มีลักษณะเกือบเหมือนกัน
คำตอบ:
โปรดดูเอกสารสำหรับเลื่อนผูกพัน คุณจะต้องตั้งค่านี้สำหรับแต่ละหน้าต่างที่คุณต้องการผูก (เช่นขั้นต่ำ 2)
อย่างไรก็ตามหากคุณกำลังเปรียบเทียบไฟล์ 2 ไฟล์vimdiffอาจมีประโยชน์มากกว่า
ไปที่แยกแรกแล้วพิมพ์
:set scrollbind
ไปที่รายการถัดไป ( ctrl+ w) แล้วทำเช่นเดียวกัน
ในการปิดใช้งาน:
:set noscrollbind
สำหรับข้อมูลเพิ่มเติมโปรดดูเอกสารสำหรับการผูกแบบเลื่อน - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding
:windo set scrollbind
ตั้งค่าสำหรับการแยกทั้งหมดพร้อมกันได้
:windo set scrollbind
จะตั้งค่า scrollbind ในทุกหน้าต่าง
nmap <F5> :windo set scrollbind!<cr>
บ่อยครั้งอาจเป็นประโยชน์หากมีบางอย่างเช่นการสลับแถบเลื่อนในหน้าต่างที่เปิดอยู่ทั้งหมด
scrollbind!
ไม่ได้ผลสำหรับฉัน แต่invscrollbind
ทำ การทำแผนที่ที่ยอดเยี่ยม ขอบคุณ!
G'day,
พยายามใช้ vimdiff กับสองไฟล์หรือไม่?
vimdiff file1 file2
สิ่งนี้จะทำให้คุณมีการเชื่อมการเลื่อนตามค่าเริ่มต้น
จากบรรทัดคำสั่ง:
vim -O file1 file2 -c 'windo set scb!'
-O = เปิดเคียงข้างกัน
-c = สิ่งที่ตามมาในเครื่องหมายคำพูดจะถือว่าเป็นตัวเลือกกลุ่ม
'windo' = ใช้กับแผงทั้งหมด
'scb' = ชวเลขสำหรับ scrollbind บันทึกการพิมพ์บางอย่าง แต่ทั้งสองพิมพ์แทนกันได้
'!' = สลับ ด้วยวิธีนี้คุณสามารถใช้คำสั่งเดียวกันเพื่อปิดในภายหลังหากคุณเลือกที่จะ
สำหรับคนรุ่นหลังนี่คือสิ่งที่ฉันต้องทำเนื่องจากฉันไม่ได้เริ่มต้นด้วย vimdiff
ฉันโหลดหนึ่งไฟล์ จากนั้น: vsp เพื่อโหลดอีกอัน
ไฟล์เหล่านี้เป็นไฟล์ที่แตกต่างกันมาก แต่ฉันอยากเห็นว่ามีอะไรอยู่ระหว่างกัน
ดังนั้น...
:set diff
:set diffopt=iwhite
:set scrollbind