我在Vim中使用ag进行字符串/文件搜索,结果很好。
然而,似乎没有太多关于如何为ag构建模式的文档。
在实用Vim书中的一个示例中,我尝试使用ag而不是vimgrep。
我希望递归地查找一个目录中所有文件中出现的所有"Practical“,并将此字符串替换为”Practical“。在一些文件中也有“实用型书架”,该字符串必须保留。
这本书提出了这样的方法:
/Pragmatic\ze Vim
:vimgrep /<C-r>// **/*.txt在该步骤之后,使用:Qargs插件命令填充quickfix列表,最后使用:argdo %s//Practical/g
现在,如何使用ag指定/Pragmatic\ze模式
ag是为我在这里尝试做的事情而设计的吗?
发布于 2014-03-05 15:58:16
Silver Searcher工具使用PCRE (Perl兼容正则表达式)语法。因此,您需要使用Perl语法来实现正向前视:(?=pattern),而不是VimPerl语法。(对应的\zs后处理将是(?<=pattern)。)
我在命令行中显示了您的示例,但是在Vim中应该是相同的:
$ ag 'Pragmatic(?= Vim)'https://stackoverflow.com/questions/22190334
复制相似问题