Tôi hiện đang sử dụng MacVim và tôi muốn in tất cả các tệp trong cây đang hoạt động của mình. Có cách đơn giản để làm điều này, có lẽ sử dụng lệnh hardcopy
?Đệ quy in tất cả các tệp từ Vim
Trả lời
Một cách thuận tiện để thực thi một lệnh cho một nhóm các tập tin là để thu thập danh sách tên của họ, xác định nó như danh sách đối số mới (xem :help arglist
), và sau đó lặp lại lệnh trên các tệp đó trong danh sách đối số.
Để thực hiện bước đầu tiên, sử dụng lệnh
:args
với một ký tự đại diện file phù hợp với mong muốn. Ví dụ::args ./**/*
đặt danh sách đối số thành tất cả các tệp trong thư mục hiện tại và thư mục con; tương tự,
:args /tmp/**/*.{c,h}
chọn tất cả
.c
và.h
file trong/tmp
và thư mục con của nó. Để biết chi tiết về cú pháp ký tự đại diện, hãy xem:help wildcard
.Nếu đường dẫn đến thư mục gốc của một cây con chứa các file để in không rõ trước và được xây dựng bởi một kịch bản, sử dụng lệnh
:exe 'args' join(map(split(glob(p . '/**/*'), '\n'), 'fnameescape(v:val)'))
nơi biến
p
là vụ phải chứa tên đường dẫn của rằng thư mục gốc.Đối với việc gửi tập tin trong danh sách đối số tới máy in, thực hiện lệnh
:hardcopy
cho các tập tin bằng cách sử dụng lệnh:argdo
,:argdo hardcopy!
Các
!
specifier ngăn chặn hộp thoại modal để lựa chọn in tham số.Một lệnh phức tạp hơn có thể được sử dụng để in từng tệp thành tài liệu PostScript riêng nằm trong cùng thư mục với tệp đó.
:argdo hardcopy! >%:p.ps
Đây là tên của một tập tin in được nối với
.ps
suffix để có được tên của một tập tin PostScript tương ứng (xem:help cmdline-special
).Để tăng tốc lệnh
:argdo
-argument, Vim bỏ quaSyntax
sự kiện tự động bằng cách thêm nó vào danh sácheventignore
. Điều này có nghĩa rằng nếuSyntax
autocommands đã không được chạy cho một tập tin trong danh sách đối số trước khi lệnh:hardcopy
là:argdo
ne, các tương ứng tài liệu in sẽ không có một cú pháp nổi bật (trong trường hợpsyntax:y
bộ trongprintoptions
). Để thực thiSyntax
tự động đối với tất cả các tệp trong danh sách đối số, trước tiên hãy sử dụng lệnh sau đây.:argdo set ei-=Syntax | do Syntax
Để làm điều này trong thời gian tương tự như in ấn, nối các lệnh:
:argdo set ei-=Syntax | do Syntax | hardcopy! >%:p.ps
Như thường lệ, kỹ lưỡng hơn – sehe
Cảm ơn các bạn đã trả lời câu hỏi. Những công việc này. –
@ib. Theo dõi câu hỏi này. Tôi dường như không thể làm nổi bật cú pháp để làm việc khi tôi sử dụng lệnh này. Từ những gì tôi có thể nói, nó làm điều đó cho cái đầu tiên nhưng không cái nào trong số những cái tiếp theo nó in ra PostScript. Tự hỏi, tại sao vậy? Tôi đã thử 'đặt printoptions = cú pháp: y" 'trong vimrc của tôi nhưng dường như không làm các trick –
Chỉnh sửa Xin lỗi, tôi đã hiểu lầm trước đó.
Để in tất cả, nói php và C# tập tin trong thư mục làm việc của bạn:
:args ./*.{cs,php} **/*.{cs,php}
:argdo ha
Đơn giản chỉ cần ': args **/*. {Cs, php}' sẽ làm điều đó, IIRC. – fachexot
- 1. windows .bat tập tin cách đệ quy liệt kê tất cả các tệp thuộc loại * .mp3
- 2. đệ quy thêm phần mở rộng tệp cho tất cả các tệp
- 3. .gitignore bỏ qua tất cả các tệp sau đó đệ quy cho phép * .foo
- 4. Lấy danh sách tất cả các tệp trong thư mục (đệ quy)
- 5. TCL: Tìm kiếm đệ quy các thư mục con để nguồn tất cả các tệp .tcl
- 6. g ++ bao gồm tất cả/usr/include đệ quy
- 7. Cách đệ quy liệt kê tất cả các tệp và thư mục
- 8. Điều gì mở rộng cho tất cả các tệp trong thư mục hiện tại đệ quy?
- 9. Cách xóa đệ quy tất cả các tệp SVN bằng PowerShell
- 10. Cách tạo một hàm đệ quy để sao chép tất cả các tệp và thư mục
- 11. Tìm tất cả các tệp .php trong thư mục đệ quy
- 12. Xóa các tệp bị ẩn đệ quy
- 13. Đệ quy tìm tất cả tổ tiên cho trẻ
- 14. Trong .Net, cách nhanh nhất để đệ quy tìm tất cả các tệp từ thư mục gốc là gì?
- 15. Vim chạy autocmd trên tất cả các loại tệp EXCEPT
- 16. Làm thế nào để đệ quy đi qua tất cả các thư mục con và đọc tệp?
- 17. ExtJs4 cách tắt tất cả các trường và tất cả các nút trên bảng điều khiển đệ quy
- 18. Bash: đệ quy xóa các tệp
- 19. Diff Một thư mục đệ quy, bỏ qua tất cả các tập tin nhị phân:
- 20. Danh sách đệ quy của tất cả các tệp phù hợp với một loại tệp nhất định trong Groovy
- 21. Cách xóa tệp đệ quy
- 22. Đệ quy đếm các tệp bằng PHP
- 23. Liệt kê tất cả URL kho SVN từ một thư mục ở chế độ đệ quy
- 24. Tải xuống tệp từ s3 đệ quy bằng boto python.
- 25. PHP hàm đệ quy để xóa tất cả các con các nút nguyên nhân stackoverflow
- 26. Đệ quy di chuyển tất cả các tệp của một loại cụ thể vào thư mục đích trong Bash
- 27. Quét đệ quy cho các tệp bằng xgettext
- 28. Tìm kiếm tệp đệ quy
- 29. bash lặp qua tất cả tìm đệ quy trong thư mục con
- 30. Tìm kiếm tệp đệ quy bằng PowerShell
': qa' sẽ đóng cửa tất cả các file mở ... Tôi tự hỏi nếu' a' có thể sửa đổi ? –