1GvG:s/..../g
可以取代在整個緩衝區
然而,假設我已經裝載多個vim的緩衝區,而我想做一個:結束了所有的可寫的緩衝區;有沒有辦法在vim中做到這一點?
1GvG:s/..../g
可以取代在整個緩衝區
然而,假設我已經裝載多個vim的緩衝區,而我想做一個:結束了所有的可寫的緩衝區;有沒有辦法在vim中做到這一點?
因爲我不能留下評論,所以我會重複Brian的說法,並加上我的2分錢。
我相信你正在尋找的命令是:
:bufdo :%s/..../g | :w
注:這將寫入每個文件的更改後,所以一定要確保你爲此做好準備。
如果啓用了自動導入,您應該可以在命令末尾刪除「|:w」。
那麼,至少在我的vim(7.2,Ubuntu)中,足以讓''| :如果你不想在變化上寫字,w'就不在圖片上了。 – 2010-09-27 14:21:06
在http://vim.wikia.com/wiki/Search_and_replace_in_multiple_buffers上有一個關於vim wiki的頁面,其中有更多關於尾部'| | :w' – 2011-09-20 22:35:16
@AdrianoVaroliPiazza它可以在沒有'| :w'在'vim'上,但是'vi'是必需的。 – 2013-10-02 10:32:32
看看bufdo
。還有windo
和tabdo
。請記住,每個默認的Vim都不會自動寫入,所以在緩衝區中搜索/替換命令需要打開autowrite。
Greplace有一個支持此功能。 github上還有一個pathogen ready version。
順便說一句,你可以只爲整個緩衝區執行'%s'。 – 2010-03-15 08:05:13
謝謝你問這個!這對我來說是一個嘮叨的問題(但不要太嘮叨,否則我也會在這裏問)。 – 2010-09-27 14:21:50