2010-03-15 25 views
6

nênvim: tìm kiếm thay thế trên tất cả các bộ đệm ghi

1GvG:s/..../g 

có thể thay thế trên toàn bộ một bộ đệm

Tuy nhiên, giả sử tôi có nhiều bộ đệm vim nạp, và tôi muốn làm một: s trên tất cả các bộ đệm có thể ghi; có cách nào để làm điều này trong vim?

+2

Btw bạn chỉ có thể thực hiện '% s' cho toàn bộ bộ đệm. –

+0

Cảm ơn bạn đã hỏi điều này! Đó là một câu hỏi dai dẳng đối với tôi (nhưng không quá dai dẳng hoặc tôi cũng đã hỏi nó ở đây). –

Trả lời

12

Vì tôi không thể để lại nhận xét, tôi sẽ lặp lại những gì Brian nói và thêm vào 2 xu của tôi.

tôi tin rằng các lệnh bạn đang tìm kiếm là:

:bufdo :%s/..../g | :w 

Lưu ý: Đây sẽ viết mỗi file sau khi thay đổi được thực hiện, do đó hãy chắc chắn rằng bạn đã sẵn sàng cho việc này.

Nếu autowrite được bật, bạn sẽ có thể xóa "|: w" ở cuối lệnh.

+0

Vâng, ít nhất là trong vim của tôi (7.2, Ubuntu) đủ để rời khỏi '| : w' ra khỏi hình ảnh nếu bạn không muốn viết về thay đổi. –

+1

Có một trang trên wiki vim dành riêng cho http://vim.wikia.com/wiki/Search_and_replace_in_multiple_buffers này với nhiều tùy chọn hơn về dấu nháy '| : w' –

+1

@AdrianoVaroliPiazza Nó hoạt động ra khỏi hộp mà không có '| : w' trên 'vim' nhưng được yêu cầu cho' vi'. –

4

Hãy xem bufdo. Ngoài ra còn có windotabdo. Hãy nhớ rằng mỗi Vim mặc định không autowrite để tìm kiếm/thay thế các lệnh trên bộ đệm, bạn cần phải bật autowrite.

Các vấn đề liên quan