มีวิธีเปิดไฟล์ทั้งหมดในไดเร็กทอรีจากภายใน Vim หรือไม่? ดังนั้น:command
การที่จะบอกว่ามีผลในการ "เปิดไฟล์ทั้งหมดที่อยู่ภายใต้การ/some/path
เข้าบัฟเฟอร์"
เป็นการดีที่จะเปิดไฟล์ทั้งหมดภายใต้ dir แบบวนซ้ำ
มีวิธีเปิดไฟล์ทั้งหมดในไดเร็กทอรีจากภายใน Vim หรือไม่? ดังนั้น:command
การที่จะบอกว่ามีผลในการ "เปิดไฟล์ทั้งหมดที่อยู่ภายใต้การ/some/path
เข้าบัฟเฟอร์"
เป็นการดีที่จะเปิดไฟล์ทั้งหมดภายใต้ dir แบบวนซ้ำ
คำตอบ:
คำสั่งที่คุณกำลังมองหาคือ args:
ตัวอย่างเช่น:
:args /path_to_dir/*
จะเปิดไฟล์ทั้งหมดในไดเร็กทอรี
:tab all
เพื่อวางไว้ในแต่ละแท็บ
"/path_to_dir/subdir/" Illegal file name
) วิธีแก้ปัญหาอย่างรวดเร็วคือเรียกใช้คำสั่งที่สองargd */
เพื่อลบสิ่งเหล่านั้นออกจากรายการอีกครั้ง
:argdo source my_commands_batch.vim
เหตุใดจึงใช้งานไม่ได้หากฉันต้องการเปิดไฟล์ทั้งหมดที่ลงท้ายด้วยนามสกุลที่แน่นอน ฉันเหนื่อย
:n ./**.cs
และเปิดเฉพาะไฟล์ในไดเร็กทอรีปัจจุบัน
ฉันพบคำตอบรหัสที่ถูกต้องคือ :n **/*.cs
สำหรับข้อมูลเพิ่มเติม :h find
คุณลอง
:n /some/path/*
มันจะเปิดไฟล์ทั้งหมดใน / some / path
ฉันไม่คิดว่ามันจะเปิดไฟล์ซ้ำ ๆ
แก้ไข
บางทีการใช้ ** จะเปิดซ้ำตามที่กล่าวถึง daf
วิธีการที่ไม่ต้องวุ่นวายargs
คือใส่รายชื่อไฟล์ในไฟล์ข้อความจากนั้นใช้:so
คำสั่งเพื่อเรียกใช้คำสั่งในไฟล์นั้น
ตัวอย่างเช่นหากคุณต้องการเปิดไฟล์ทั้งหมดที่ลงท้าย.php
ด้วยไดเร็กทอรีที่กำหนดก่อนอื่นให้สร้างfiles.txt
รายการไฟล์ที่มีคำสั่งที่คุณต้องการใช้เปิด
sp alpha.php
sp bravo.php
sp charlie.php
จากนั้นภายในกลุ่ม:
:so files.txt
หากรายการไฟล์มีขนาดใหญ่การสร้างfiles.txt
ไฟล์อย่างรวดเร็วก็เป็นเรื่องเล็กน้อยโดยเปลี่ยนเส้นทางเอาต์พุตls
ไปยังไฟล์จากนั้นใช้มาโครเป็นกลุ่มเพื่อนำsp
หน้าชื่อไฟล์แต่ละชื่อ
เห็นได้ชัดว่าสิ่งนี้ไม่สวยงามเหมือนกับการใช้ไฟล์ args
argdo
คำสั่งand แต่คำสั่งเหล่านั้นก็ซับซ้อนกว่ามากเช่นกัน
นอกจากนี้ยังอาจมีวิธีดำเนินการด้วยคำสั่งเดียวในบรรทัดคำสั่ง แต่หลังจากผ่านไป 16 ปีฉันก็ยังพบว่าการเขียนโปรแกรมเป็นกลุ่มนั้นแปลกและเป็นความลับ
อีกวิธีในการเปิดไฟล์แบบวนซ้ำ
find . -type f -exec vi {} \;
kate **/*(^/)
(โดยใช้ zsh globbing syntax) ทำสิ่งที่จำเป็น: เปิดไฟล์จากไดเร็กทอรีที่กำหนดแบบวนซ้ำ ไม่ใช่ "จากภายใน" และไม่ได้ใช้กลุ่มเลย แต่ "ยังทำในสิ่งที่จำเป็น" หรือแม้แต่kate ~/.vimrc ~/.bashrc
. การละเว้น "from withing", "จากไดเร็กทอรีที่กำหนด" และ "เรียกซ้ำ" ทั้งหมด แต่ "ยังทำในสิ่งที่จำเป็น": เปิดไฟล์
หากคุณต้องการเพิ่มในรายการอาร์กิวเมนต์
:arga what_you-d_like_to_add
ดู
:he arga
จาก / ในกลุ่มสำหรับข้อมูลเพิ่มเติม
**
เพื่อจับคู่ไฟล์แบบวนซ้ำ เช่น:args /path_to_dir/**