วิธีการเปิดไฟล์ในหน้าต่างแยกแนวตั้ง / แนวนอนใน Vim จากบรรทัดคำสั่ง


400

ต้องมีวิธีบางอย่างเช่นนี้:

vim -[option] <file-list>

เปิดไฟล์จากคำสั่งและไม่ได้มาจากภายในกลุ่ม

  • แบ่ง windows ในแนวตั้งหรือ / และแนวนอน
  • ในแท็บแยกต่างหาก

คำตอบ:


389

ฉันสมมติว่าคุณหมายถึงจากบรรทัดคำสั่ง จากvim --help:

-o[N]                Open N windows (default: one for each file)
-O[N]                Like -o but split vertically

ดังนั้นให้พิมพ์สิ่งนี้เพื่อเปิดไฟล์แยกตามแนวนอนตัวอย่างเช่น

vim -o file1.txt file2.txt file3.txt

14
จริงๆ? ฉันไม่เคยให้ N.
Cascabel

3
อันที่จริงดูเหมือนว่าจะเป็นบางสิ่งบางอย่างใน. vimrc ของฉันทำให้เกิดปัญหา ถ้าฉันย้ายมันไปข้างหน้า -o โดยไม่ต้องทำงาน N ตามเอกสาร
ลอเรน Gonsalves

22
-oเป็นเหมือน:split, -Oเป็นเหมือน:vsplit
Evgeni Sergeev

@Cascabel -whatever[N]หมายความว่าNเป็นตัวเลือกและสามารถละไว้ได้ฉันเชื่อว่ามันมาจากไวยากรณ์ ebnf
user3338098

@ user3338098 ฉันคิดว่าอาจมีความคิดเห็นที่ถูกลบที่นี่; ความคิดเห็นของ "แน่นอน ... " ของลอเรนซ์แสดงถึงว่ามันเป็นสาเหตุของปัญหาเมื่อไม่ได้ระบุ
Cascabel

441

Ctrl+ W, S(ตัวพิมพ์ใหญ่) สำหรับการแยกแนวนอน

Ctrl+ W, v(ตัวพิมพ์เล็ก) สำหรับการแยกแนวตั้ง

Ctrl+ W, Qเพื่อปิดหนึ่งรายการ

Ctrl+ W, Ctrl+ Wเพื่อสลับระหว่างหน้าต่าง

Ctrl+ W, J(xor K, H, L) เพื่อสลับไปยังหน้าต่างที่ติดกัน (สังหรณ์ใจขึ้นลงซ้ายขวา)


10
ในการสลับหน้าจอกดCtrl-wและจากนั้นup arrowหรือdown arrowเพื่อสลับหน้าจอ
Eric Leschinski

7
@EricLeschinski ฉันชอบctrl+w ctrl+wวนผ่านหน้าต่างเนื่องจากแป้นลูกศรรู้สึกต่อต้าน
ลูคัส

6
อา แต่คุณสามารถใช้การเคลื่อนไหวเป็นกลุ่มแบบปกติเช่นctrl+w jเพื่อข้ามไปยังบัฟเฟอร์ด้านล่างปัจจุบัน
mitjak

4
:qปิดหน้าต่างด้วย
Alexandre Bourlier

1
Ctrl + w เพื่อสลับหน้าต่างดูเหมือนจะไม่ทำงานบนขั้ว mac Ctrl + w, w ทำแม้ว่า
slashdottir

325

ในขณะที่ใช้เป็นกลุ่ม:

  1. :sp filename สำหรับการแบ่งแนวนอน
  2. :vsp filenameหรือ:vs filenameแยกแนวตั้ง

61
นี่ไม่ได้ตอบคำถามที่เกิดขึ้น ... แต่มันแน่ใจว่าช่วยฉันได้: D ขอบคุณ!
Abel

1
ขอบคุณมากสำหรับมัน มันเป็นสิ่งที่ฉันต้องการ!
mapcuk

7
ขอบคุณสิ่งที่ฉันกำลังมองหา ฉันยัง:set splitright
แซ

4
ctrl-ww สำหรับการสลับระหว่างการแยก
Nerrve

:vsplit filenameเหมือนกันกับ:vsp filenameและ:vs filenameแต่อาจจำง่ายกว่าเล็กน้อยสำหรับคนบางคน
b_dev

21

เคล็ดลับที่น่าสนใจอีกอย่างคืออาร์กิวเมนต์ CLI -p ซึ่งเปิดในแท็บแยกต่างหากสำหรับเวอร์ชันล่าสุดของ vim และ gvim

gvim -p file1.txt file2.txt

1

เคล็ดลับที่มีประโยชน์อีกอย่างที่ฉันเพิ่งค้นพบคือคุณสามารถใช้ wildcard ในตัวสร้างไฟล์เพื่อเปิดหลายไฟล์ สมมติว่าคุณต้องการเปิด file1.txt, file2.txt และ file3.txt ทั้งหมดแยกกันในแท็บต่าง ๆ แต่อย่ารู้สึกอยากพิมพ์สิ่งที่คุณทำได้ทั้งหมด:

vim -p file*

ฉันมักจะพบว่าตัวเองต้องการเปิดไฟล์จำนวนมากที่มีคำนำหน้าเหมือนกันและสิ่งนี้มีประโยชน์มาก


12
ที่ไม่ได้เกี่ยวข้องกับ Vim แต่ใช้เชลล์ที่คุณใช้ มันเป็นเปลือกที่ขยายความมืดมัว
Kazark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.