Vim:Ag在全局和目录中搜索和替换

时间:2014-03-05 18:36:35

标签: vim

我正在使用:vim中的Ag来搜索模式,但我无法弄清楚如何搜索和替换我项目中的所有文件,或者直接指定的文件。这是怎么做到的?

2 个答案:

答案 0 :(得分:16)

在Vim中,项目范围的搜索替换最多只需两个步骤,除非您安装一个插件,为您提取这两个步骤的摘要{{3 }}

在最基本的形式中,项目范围的搜索/替换如下所示:

:args `grep -nl foo *.js`
:argdo %s/foo/bar/c

:Ag对你的帮助不大,因为Vim没有内置命令,类似于在quickfix列表上工作的:*do系列。

Drew Neil有几个截屏视频,EasyGrep.here,涉及项目范围内的搜索/替换。第二篇文章底部提到的:Qfdo命令专门针对:vimgrep / :Ack / :Ag个用户。使用there:Ag,两步流程变为:

:Ag foo
:Qfdo s/foo/bar/c

- 编辑 -

Vim现在有:cdo:cfdo:ldo:lfdo

答案 1 :(得分:0)

vim中,有多个解决方案,但您必须打开所有文件才能执行此操作。您可以在不同的窗口,缓冲区或选项卡中打开文件,对于所有选项,您可以使用方法对所有文件进行操作:

:windo :Ag

:bufdo :Ag

:tabdo :Ag

有关详细信息,请参阅:help windows:help buffers:help tab-page-commands