ถ้าฉันเปิด x หน้าต่างขึ้นไปในเซสชัน VIM และฉันต้องการซ่อนทั้งหมดอย่างรวดเร็ว แต่หน้าต่างที่ใช้งานอยู่ครู่หนึ่งจากนั้นกลับหน้าต่างไปยังเค้าโครงที่ฉันมีให้พวกเขารู้ว่าฉันจะทำอย่างไร
ถ้าฉันเปิด x หน้าต่างขึ้นไปในเซสชัน VIM และฉันต้องการซ่อนทั้งหมดอย่างรวดเร็ว แต่หน้าต่างที่ใช้งานอยู่ครู่หนึ่งจากนั้นกลับหน้าต่างไปยังเค้าโครงที่ฉันมีให้พวกเขารู้ว่าฉันจะทำอย่างไร
คำตอบ:
ใน Vim 7 และใหม่กว่าคุณสามารถใช้“ หน้าแท็บ” สำหรับสิ่งนี้ (เช่นแท็บ“ GUI-style”) คุณสามารถใช้:tab
คำสั่งกับ:split
หรือ:sbuffer
:
:tab split
:tab sp " shorter version
:tab sbuffer
:tab sb " shorter version
ทั้งสองsplit
และsbuffer
ทำสิ่งเดียวกันเมื่อใช้โดยไม่มีอาร์กิวเมนต์เพิ่มเติม (แบ่งบัฟเฟอร์ปัจจุบัน) คุณอาจต้องการใช้split
ถ้าคุณคาดว่าต้องการโหลดชื่อพา ธ บางส่วน (อาจยังไม่ได้โหลด) ( split path/to/some/file
แม้ว่าคุณจะสามารถใช้:tabe
แทนได้เนื่องจากนี่เป็นบริบทของการเปิดแท็บใหม่); sbuffer
ทำให้เปลี่ยนเป็นบัฟเฟอร์ที่มีอยู่ได้ง่ายขึ้น ( sb {bufnum}
หรือsb {bufname}
)
เมื่อคุณเปิดแท็บใหม่คุณสามารถใช้gT
และgt
สลับระหว่างแท็บที่ได้ (หรือตัวควบคุม GUI หากคุณใช้เวอร์ชัน GUI ของ Vim) เมื่อคุณเสร็จสิ้นด้วยแท็บหน้าต่างเดียวของคุณเพียง:q
เพื่อปิดหน้าต่าง (และทำให้แท็บ) และกลับไปที่แท็บเดิมของคุณ (ด้วยรูปแบบหน้าต่างเดิม) หรือใช้:tabclose
( :tabc
) หรือสลับกลับไปที่แท็บเดิมของคุณและใช้:tabonly
( :tabo
)
ฉันใช้ CTRL-W _ เพื่อ "ดัน" หน้าต่างอื่น ๆ ในแนวนอนออกไปทำให้หน้าต่างปัจจุบันขยายไปยังพื้นที่ที่มีขนาดใหญ่ที่สุด ใช้ CTRL-W | ทำแบบเดียวกันในแนวตั้ง ฉันแน่ใจว่าอาจมีวิธีการทำทั้งสองอย่างพร้อมกัน แต่ฉันไม่ได้สังเกตหรือมองหามัน ดูใน: ช่วย CTRL-W
หากต้องการคืนค่าให้ทำ CTRL-W = หนึ่งข้อแม้แม้ว่าพวกเขาจะไม่ได้รับการกู้คืนสู่การกำหนดค่าดั้งเดิม CTRL-W = คำนวณค่าที่เหมาะสมที่สุดสำหรับหน้าต่างทั้งหมดในหน้าจออีกครั้ง
เท่าที่ฉันรู้ไม่มีทางที่จะสลับไปมาระหว่างเลย์เอาต์หน้าต่างสองแบบที่แตกต่างกันได้ แต่คุณสามารถซ่อนวินโดว์อื่น ๆ ทั้งหมดโดยใช้คำสั่ง:only
(หรือ:on
) ดูวิธีใช้Vim สำหรับคำสั่งนี้