2

如何使用 -G 选项对一组特定的文件夹进行 ag 搜索?

这是我使用的示例-G routes,但它正在从另一个文件夹中获取另一个结果,因为routes它仍在路径中。然而,如果我尝试-G ^routes,它似乎不像正则表达式正在使用?

在此处输入图像描述

关于这一点,Atom 有一个很好的路径搜索语法,它可以让我做一些事情app,routes,!storage(在应用程序和路由文件夹中搜索,但忽略存储文件夹)。由于我已经切换到 vim,我发现很难使用 ack/ag 来降低搜索工作流程。有人对我有什么建议吗?

4

1 回答 1

2

我想你真的很想试试这个插件https://github.com/junegunn/fzf.vim。它将(除其他外)运行您的 ag 搜索并将结果显示在模糊查找器中。然后,您将拥有与 atom 中提到的完全相同的功能,方法是运行:Ag middleware后跟 (in the fzf window) 'app/ 'routes/ !storage/'

关于文件模式的正则表达式的使用,您需要引用您的正则表达式

ag -G '^routes' middleware

话虽如此,尽管 '\b' 可以,但 '^...' 在我的计算机上也无法按预期工作。我开始使用 ripgrep 而不是 the-silver-searcher 不是因为它更快,而是因为它有更好的文档,也许你想试一试。rg -g将采用比 ag 手册页中提到的“FILEPATTERN”更容易理解的 glob

于 2018-02-12T10:06:44.323 回答