วิธีรับเสียงเรียกเข้าเพื่อเปิดหลายไฟล์ลงในแท็บพร้อมกัน


85

เป็นไปได้ไหมที่จะให้ vim เปิดหลาย ๆ ไฟล์เป็นแท็บคล้ายกับวิธีที่args <path>คำสั่งจะเปิดหลาย ๆ ไฟล์เป็นบัฟเฟอร์?

การทำบางอย่างเช่น:tabe ./*ผลลัพธ์ในข้อผิดพลาด "E77: ชื่อไฟล์มากเกินไป" แม้ว่าจำนวนไฟล์จะน้อยกว่าค่าที่ตั้งไว้ในtabpagemaxคุณสมบัติ

(ฉันเชื่อว่าvim -p <files>ตัวเลือกจะเปิดในแท็บ แต่ฉันหวังว่าจะหาวิธีที่จะทำได้เมื่อกลุ่มเปิดแล้ว)


12
ขอบคุณที่พูดถึงตัวเลือก -p นั่นคือสิ่งที่ฉันกำลังมองหา
user72923

4
ฉันพบคำถามนี้ผ่านทาง Google ฉันกำลังมองหาวิธีการเปิดเป็นกลุ่มด้วยแท็บจากบรรทัดคำสั่งvim -pเป็นสิ่งที่ฉันกำลังมองหา :-)
Rocket Hazmat



คำตอบ:


82
:tab all

จะเปิดไฟล์ทั้งหมดในรายการอาร์กิวเมนต์ของ Vim ในแต่ละแท็บ รายการอาร์กิวเมนต์ถูกตั้งค่าเริ่มต้นเป็นรายการชื่อไฟล์ที่กำหนดในบรรทัดคำสั่งเมื่อ Vim เริ่ม รายการอาจมีการเปลี่ยนแปลงด้วย:argsคำสั่งและที่เกี่ยวข้อง ดู

:help :all
:help argument-list

ตัวอย่าง:

:args *.c
:tab all

จะเปิดไฟล์. c ทั้งหมดในไดเรกทอรีปัจจุบันในแต่ละแท็บ


ฉันไม่แน่ใจว่าสิ่งนี้มีความหมายอย่างไรในการทำงาน พูดถ้าฉันต้องการเปิดไฟล์. txt ทั้งหมดในไดเรกทอรีปัจจุบันฉันจะป้อนอะไร หากฉันเข้าร่วมจะต้อง:tab all *.txtเป็นตัวนับด้วย "E488: ตัวอักษรต่อท้าย"
Ash

ฉันแก้ไขคำตอบเพื่อชี้แจงสิ่งที่ฉันหมายถึงโดย "ข้อโต้แย้ง" :tab allฉันหมายถึงรายการอาร์กิวเมนต์เป็นกลุ่มมากกว่าข้อโต้แย้ง
garyjohn

1
ผมไม่ทราบว่าของคำสั่งเดียวที่สามารถทำเช่นนั้น :args *.c | tab allแต่คุณสามารถใส่คำสั่งที่สองในหนึ่งบรรทัดโดยการแยกพวกเขาด้วยแถบแนวตั้งเช่นนี้
garyjohn

9
ข้อเสียคือการใช้:tab allแทนที่แท็บที่มีอยู่ของคุณ ด้วยเหตุนี้ในกรณีการใช้งานของฉันมันจึงไม่ให้ประโยชน์มากกว่าการเปิดไฟล์vim -pอีกครั้ง อย่างไรก็ตามหากมีวิธีบางอย่างในการ:argsคัดแท็บที่มีอยู่เข้ามาอาจเป็นไปได้ที่จะเปิดแท็บใหม่และเก็บแท็บที่มีอยู่เดิม
Kevin Qi

3
หากแท็บเปิดแล้วทดแทนสำหรับargadd args
cdosborn

4

คุณสามารถเปิดแท็บใหม่และรักษาแท็บปัจจุบันของคุณโดยไม่ต้องเขียนฟังก์ชั่นใหม่ ดูคำตอบนี้ได้ที่ Stack Overflow: https://stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

คุณอาจต้องการเปิดแท็บว่างใหม่ ( :tabe) ก่อนที่จะทำเช่นนั้นเพราะไฟล์แรกจะเปิดในแท็บปัจจุบัน นอกจากนี้แท็บเปล่าพิเศษจะเปิดค้างไว้ (ดู:help argdoเพื่อทำความเข้าใจว่าทำไม)


หากคุณกำลังเพิ่มแท็บใหม่ให้กับชุดที่มีอยู่มันจะง่ายกว่า:tabe file1ไหม?
jpaugh

@jpaugh คำถามเกี่ยวกับหลายไฟล์
Mihai Capotă

จะไม่:args | argdo tabeตอบคำถามใช่มั้ย อะไรคือเหตุผลในการเพิ่มไฟล์ใหม่ด้วยวิธีนี้
jpaugh

@jpaugh นี่คือคำถามที่ถาม: "ฉันเชื่อว่าตัวเลือก vim -p <files> จะเปิดในแท็บ แต่ฉันหวังว่าจะหาวิธีที่จะทำได้เมื่อ vim เปิดอยู่แล้ว"
Mihai Capotă
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.