ฉันจะปิดหน้าต่างด้านซ้ายสุดเป็นกลุ่มได้อย่างไร


0

ฉันพยายามเขียนคำสั่งที่จะปิด tree-browser เป็นกลุ่มต้นไม้ ) หน้าต่างและปรับขนาดหน้าต่างอื่น ๆ

,to เปิดหน้าต่างและปรับขนาดหน้าต่างเพื่อให้หน้าต่างที่เปิดอยู่ทั้งหมดคงขนาดปกติเอาไว้ :set columns+=30CTRL-W = )

,tc ควรปิดหน้าต่างต้นไม้ (เต็มความยาวซ้ายสุด) และปรับขนาดหน้าต่างหลัก ( :set columns-=30 )

ฉันจะเขียนคำสั่งที่ปิดหน้าต่างด้านซ้ายสุดได้อย่างไร เพื่อที่ฉันจะได้พิมพ์ ,tc ปิดหน้าต่างและปรับขนาดในหนึ่งช็อต

  • ฉันสามารถนำทางไปกับมันด้วย CTRL-W hแต่ใช้ไม่ได้และน่ารำคาญ (เสียงเตือน!) ที่จะใช้ 10CTRL-W h ในคำสั่ง
  • :topleft c น่าเสียดายที่ใช้งานไม่ได้

คุณนึกถึงวิธีที่ยอดเยี่ยมในการทำสิ่งนี้?


คุณแน่ใจหรือว่าระฆังนั้นมาจาก 10CTRL-W h คำสั่ง? ฉันเพิ่งลองและไม่ได้สร้างเสียงระฆังให้ฉันในขณะที่คำสั่งอื่น ๆ (เช่น h เมื่อเคอร์เซอร์อยู่ในคอลัมน์ 1) ทำ
garyjohn

@garyjohn - ฉันจะลองดู แต่ก็ยังไม่เหมาะสม! ;)
terrace

คำตอบ:


1

หากหน้าต่างมีความยาวเต็มที่ทางด้านซ้ายสุดจริง ๆ หน้าต่างนั้นจะมีหมายเลข 1 ดังนั้นการทำแผนที่เช่นนี้ควรจะทำได้:

:nmap ,tc :exe '1wincmd w' | close<CR>

สิ่งนี้จะกระโดดไปที่หน้าต่างแรกจากนั้นปิดมัน ข้อเสียคือหน้าต่างที่ใช้งานจะกลายเป็นอะไรก็ตามที่เป็นหมายเลขหน้าต่าง 2 (ซึ่งกลายเป็นหน้าต่างหมายเลข 1 เมื่อปิดหน้าต่างต้นฉบับหมายเลข 1) แทนที่จะเป็นหน้าต่างสุดท้ายที่คุณเข้า

น่าเสียดาย :1wincmd c ไม่ปิดหน้าต่างแรกตั้งแต่ Ctrl - W ไม่ยอมรับการนับดังนั้นฉันไม่เห็นวิธีหลีกเลี่ยงการย้ายไปยังหน้าต่างที่คุณต้องการปิดก่อน

2017 แก้ไข: ตั้งแต่ฉันเขียนคำตอบนี้ Ctrl - W ยอมรับการนับจำนวนในเวอร์ชันที่ใหม่กว่าของ Vim ดังนั้นคำตอบก็คือใช้ :1wincmd c และจะไม่เปลี่ยนเคอร์เซอร์ออกไปจากหน้าต่างที่ใช้งานอยู่ของคุณ:

:nmap ,tc :1wincmd c<CR>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.