Phương pháp không yêu cầu gây rối với args
là đặt danh sách tệp trong tệp văn bản, sau đó sử dụng lệnh :so
để chạy các lệnh trong tệp đó. Ví dụ: nếu bạn muốn mở tất cả các tệp kết thúc bằng .php
trong một thư mục cụ thể, trước tiên hãy tạo files.txt
chứa danh sách tệp, được thêm trước bằng bất kỳ lệnh nào bạn muốn sử dụng để mở chúng.
sp alpha.php
sp bravo.php
sp charlie.php
Sau đó, trong vim:
:so files.txt
Nếu danh sách các tập tin lớn, đó là tương đối tầm thường để tạo ra các tập tin files.txt
một cách nhanh chóng, bằng cách chuyển hướng đầu ra của ls
vào một tập tin, và sau đó sử dụng một macro vim để thêm trước sp
trước mỗi tên tệp.
Điều này rõ ràng là không thanh lịch như sử dụng các lệnh args
và argdo
, nhưng các lệnh này cũng phức tạp hơn nhiều.
Cũng có thể có một cách để làm điều này với một lệnh duy nhất trên dòng lệnh, nhưng ngay cả sau 16 năm tôi vẫn thấy lập trình vim là lạ và phức tạp.
Sử dụng '**' để khớp tệp một cách đệ quy. Ví dụ. ': args/path_to_dir/**' – daf
Hoàn hảo. Gracias. – Ethan
Để mở tệp mà không có tiện ích, hãy chỉ định thư mục chính, ví dụ: args ** /. hg/hgrc hoạt động nhưng **/hgrc thì không. – 79E09796