มีวิธีเปิดไฟล์ทั้งหมดในไดเร็กทอรีจากภายใน 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หน้าชื่อไฟล์แต่ละชื่อ
เห็นได้ชัดว่าสิ่งนี้ไม่สวยงามเหมือนกับการใช้ไฟล์ argsargdoคำสั่ง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/**