Tôi biết về lệnh :bufdo
và cố gắng kết hợp nó với macro mà tôi đã ghi lại (@a
) để thêm #include vào đúng vị trí của mỗi tệp tiêu đề tôi ' d tải. Tuy nhiên, tôi không thể tìm thấy một cách dễ dàng để chạy macro trên mỗi bộ đệm. Có cách nào để thực hiện một macro thông qua chế độ cũ, đó là những gì :bufdo
yêu cầu? Hoặc là có một lệnh tôi đang mất tích?Chạy macro trong tất cả các bộ đệm trong vim
Trả lời
Bạn có thể làm điều đó như thế này:
:bufdo execute "normal @a" | write
Lệnh bình thường sẽ chạy macro, nhưng nó phải được chạy bằng cách sử dụng: thực thi, nếu không ký tự ống sẽ được hiểu là ký tự chế độ bình thường.
Cách thay thế duy nhất tôi có thể đưa ra là thêm các lệnh :w
và :bn
vào macro để nó tự động lưu và chuyển sang bộ đệm tiếp theo. Sau đó tôi có thể chạy lệnh trên 52 bộ đệm khác bằng cách nhập [email protected]
. Điều này làm việc, nhưng với tôi là một mô hình khái niệm khác nhau hơn :bufdo
, và tôi hy vọng một người khác sẽ chỉ cho tôi theo hướng của một cái gì đó tương tự như :bufdo
.
Bạn phải sử dụng normal
để thực hiện chế độ bình thường lệnh, một thực hiện như vậy vĩ mô (@a
) trong chế độ lệnh:
:bufdo normal @a
Điều này sẽ chỉ hoạt động nếu 'autowrite' được kích hoạt, khôn ngoan khác nó sẽ dừng lại với một lỗi khi nó cố gắng để thay đổi bộ đệm thứ hai, vì nó sẽ được từ bỏ một bộ đệm sửa đổi. –
@DaveKirby sẽ làm việc này nếu chúng tôi bao gồm: w trong macro của chúng tôi? – MeanEYE
@MeanEYE: Có, nếu bạn kết thúc macro của mình bằng ': w', công cụ này sẽ hoạt động. –
- 1. Xóa tất cả bộ đệm trống trong VIM
- 2. Làm mới tất cả các file trong bộ đệm từ đĩa trong vim
- 3. Chạy R bên trong bộ đệm trong Vim
- 4. Emacs cắt ngắn dòng trong tất cả các bộ đệm
- 5. vim: tìm kiếm thay thế trên tất cả các bộ đệm ghi
- 6. Bộ đệm mỗi tab trong vim
- 7. Làm cách nào để đóng tất cả các bộ đệm không được hiển thị trong cửa sổ trong vim?
- 8. Vim chạy autocmd trên tất cả các loại tệp EXCEPT
- 9. "Bộ đệm" trong VIM là gì?
- 10. vim - hoàn tác trên tất cả bộ đệm/cửa sổ/tệp mở vv
- 11. Xóa tất cả các macro vim hiện đang được xác định
- 12. Ẩn tất cả các dòng phù hợp (không) trong Vim
- 13. Làm mới bộ đệm Vim
- 14. Áp dụng chức năng cho tất cả bộ đệm trong các emacs
- 15. làm cách nào để mở TẤT CẢ các tệp excel từng cái một và chạy macro
- 16. gnu make: liệt kê các giá trị của tất cả các biến (hoặc "macro") trong một chạy cụ thể
- 17. Làm thế nào để mở lại bộ đệm trong vim?
- 18. Di chuyển bộ đệm theo vim trên các trường hợp của vim
- 19. Mở bộ đệm dưới dạng chia dọc trong VIM
- 20. Sử dụng lệnh VIM trên tất cả các file mở
- 21. kết quả tìm kiếm đường ống đến các tab/cửa sổ/bộ đệm khác trong VIM
- 22. Chạy tất cả các thử nghiệm mở trong Visual Studio
- 23. VIM: Xóa tất cả các ký tự trước khi từ cụ thể cho tất cả các dòng trong một file
- 24. phát lại macro vim cho đến khi kết thúc vùng đệm
- 25. Tìm tất cả các bộ điều khiển trong ứng dụng
- 26. Chạy cục bộ tất cả các trình thu thập dữ liệu trong Scrapy
- 27. Làm cách nào để đóng tất cả các cửa sổ trong tab hiện tại của vim
- 28. Lưu macro vim
- 29. Nhiều bộ đệm logic trong một bộ đệm khung thực
- 30. làm thế nào để âm thầm "Lưu tất cả bộ đệm" trong Emacs?
hãy xem http://stackoverflow.com/questions/1291962/replay-a-vim-macro-until-end-of-buffer EDIT: đừng bận tâm đến điều này – gruntled
@gruntled: Cảm ơn bạn đã liên kết. Tôi bỏ qua điều đó bởi vì câu hỏi dường như không áp dụng, nhưng các kỹ thuật nên hoạt động. Tôi đã bỏ phiếu để đóng cái này. –