ฉันจะให้ทั้งสองแยกเพื่อเลื่อนไปทางซ้ายหรือขวาพร้อมกันได้อย่างไร


16

ฉันต้องการเปิดเอกสารสองส่วนที่แตกต่างกันในการแยกแนวนอน (โดยใช้:sp) และเลื่อนทั้งคู่ไปทางซ้ายและขวาพร้อมกัน scrollbindสำหรับการเลื่อนแนวตั้งที่คุณจะใช้ อย่างไรก็ตามฉันไม่แน่ใจว่าจะใช้อะไรในการเลื่อนแนวนอน

ฉันรู้ว่าความสามารถต้องพร้อมใช้งานเพราะเมื่อฉันใช้vimdiffมันจะเลื่อนในแนวนอนในเอกสารทั้งสองในเวลาเดียวกัน

คำตอบ:


19

ในการเลื่อนสองหน้าต่างเข้าด้วยกันเป็นกลุ่มจำเป็นต้องเรียกใช้:set scrollbindในแต่ละหน้าต่าง ตามที่คุณบันทึกไว้โดยค่าเริ่มต้นแล้วสิ่งนี้จะผูกเฉพาะการเลื่อนแนวตั้งเท่านั้น ในเอกสารสำหรับการเลื่อนจะกล่าวถึง:

The behavior of 'scrollbind' can be modified by the 'scrollopt' option.

:help scrolloptพบว่าคุณต้องการพูด:set scrollopt+=horเพื่อเปิดใช้งานการเลื่อนในแนวนอน

ถ้าคุณเพียงต้องการเลื่อนแนวนอน (เช่นปิดการเลื่อนแนวตั้ง) แล้วคุณยังจะต้องการที่จะพูด:set scollopt-=verหรือชุดอย่างชัดเจน scrollopt ผ่านหรือset scrollopt=hor:set scrollopt=hor,jump


ไม่สามารถแยกการเลื่อนออกได้อย่างสมบูรณ์ หลังจากมี: set scrollopt = (เท่ากัน) ยังคงย้ายคำสั่งเช่น 'm (ข้ามเพื่อทำเครื่องหมาย "m") หรือ gg จะดำเนินการในทั้งสองหน้าต่างของฉัน มันเป็นอูบุนตู gvim หลังจากทำ a: การแบ่งตามแนวดิ่งโดยไม่ระบุไฟล์
Juan Lanus

เห็นได้ชัดว่าฉันแก้ไขปัญหาที่กล่าวถึงในความคิดเห็นก่อนหน้าโดยการตั้งค่า: ตั้งค่า nocursorbind นอกเหนือไปจาก: set scrollopt = (ไม่มีอะไร)
Juan Lanus

ไม่ได้รับการแก้ไขอย่างเต็มที่ เหลืออีกตัวเลือกหนึ่ง: set nodiff เสียงเรียกของฉันกำลังคิดว่าฉันแตกต่างสองมุมมองของไฟล์เดียวกัน ตัวเลือก nodiff ลบเส้นประทั้งหมดที่ vimdiff ใช้เพื่อซิงค์ทั้งสองด้าน
Juan Lanus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.