2016-08-31 117 views
0

這裏的結果更新多個文件,是我的問題:VIM - 僅在搜索

我有大的項目,從ag搜索過濾掉大量的文件和目錄。

我需要更新多個文件,但這些可用於搜索只是我的興趣與文件,所以我想要做的是做:argdo:buffdo但是從ag搜索請求發出託收。

  1. :Ag something_to_change - >結果包含10個文件
  2. grep的這個結果列表,並只對那些10個文件做替換命令

我想象它會是什麼樣子::Ag something_to_change | :args | :argdo %s/something_to_change/somthing_changed/ge | update

感謝您的任何建議

+1

如果你不介意命令行解決方案,[示例爲grep + sed組合](http://stackoverflow.com/questions/39218941/search-and-replace-string-from-text-file-ubuntu/39219118 #39219118) – Sundeep

回答

4

如果您使用的是合理的最新版本(7.4.858及更高版本),則可以使用b uilt-在:cdo:cfdo命令:

:Ag something_to_chnage 
:cfdo %s/something_to_change/somthing_changed/ge 

:help :cdo見和:help :cfdo

如果不這樣做,我的插件vim-qf自帶:Doline:Dofile其中有一樣:cdo:cfdo

+0

令人驚歎的,幫助!,謝謝! –