Ag 如何使用-G选项搜索特定的文件夹集?

Ag 如何使用-G选项搜索特定的文件夹集?,ag,Ag,如何使用-G选项搜索特定的文件夹集 下面是一个示例,我使用了-G routes,但它从另一个文件夹中获取另一个结果,因为routes仍在路径中。然而,如果我尝试-G^routes,似乎正则表达式不起作用 在这一点上,Atom有一个很好的路径搜索语法,它允许我做一些事情,比如app、routes、,!存储(在应用程序和路由文件夹中搜索,但忽略存储文件夹)。由于我已经切换到vim,我发现很难通过ack/ag获得搜索工作流。有人给我一些建议吗?我想你真的很想试试这个插件https://github.

如何使用-G选项搜索特定的文件夹集

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


在这一点上,Atom有一个很好的路径搜索语法,它允许我做一些事情,比如
app、routes、,!存储
(在应用程序和路由文件夹中搜索,但忽略存储文件夹)。由于我已经切换到vim,我发现很难通过ack/ag获得搜索工作流。有人给我一些建议吗?

我想你真的很想试试这个插件
https://github.com/junegunn/fzf.vim
。它将(除其他外)运行ag搜索并在fuzzyfinder中显示结果。然后,通过运行
:Ag middleware
,然后(在fzf窗口中)运行
“app/”routes/,您将拥有与atom中提到的相同的功能!存储/'

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

ag -G '^routes' middleware

也就是说,“^…”在我的计算机上也不能按预期工作,尽管“\b”可以。我开始使用ripgrep而不是silver searcher,不是因为它更快,而是因为它有更好的文档,也许你想试试
rg-g
将采用比ag手册页中提到的“文件模式”更容易理解的glob

谢谢@sudavid4的回复!我已经使用并喜欢fzf.vim,但更喜欢:Ack(而不是fzf.vim的:Ag),因为它与quickfix窗口集成,可以使更大的重构更容易。我想知道为什么
^
正则表达式不起作用?fzf有一个“全选”来填充快速修复程序。如果希望搜索->筛选结果->使用原始结果的子集填充quickfix。默认情况下,它是alt+a,在mac上不起作用,所以我已经更改了它以供使用,如果alt+a对您不起作用,这是您需要更改的文件/行()ooooo,我刚才正在研究填充quickfix,但没有弄清楚。我再看看谢谢!使用fzf fuzzy search after肯定是有帮助的,但有时在某些场景中似乎过于模糊。如果我能弄明白为什么
^
正则表达式不能与
-G
一起工作。它还将使运行以前的搜索变得更容易,因为所有参数都将出现在vim的命令历史记录中。例如:
^路由器
在fzf窗口内,将过滤掉所有不以路由器开头的内容<代码>^路由器的boo表示“必须从路由器开始,并具有完全匹配的boo”<代码>^路由器的嘘声!maa faa说“从路由器开始,有一个精确的boo匹配,没有一个精确匹配的maa和模糊搜索faa”。它实际上比在ag搜索中硬编码更强大。如果你仍然真的想在搜索中使用它,那么认真地说,试试ripgrep。与ag相比,它速度更快,文档记录更好。