2016-08-31 99 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

令人惊叹的,帮助!,谢谢! –