在 spacemacs 中,仅在名称匹配模式 B 的文件中搜索模式 A 的出现

In spacemacs, search occurances of pattern A only in files with name matching pattern B

在 spacemacs 中,我经常通过 SPC-*SPC-/ 在我的项目中搜索模式。这些命令允许我输入要搜索的模式,例如我想跳转到其定义的函数名称。

有时,我想将搜索限制为仅特定类型的文件,例如仅搜索 *.elm 文件并忽略所有其他文件(*.hs*.sql 等.).

如何为模式搜索指定文件名? 即,如何仅在名称匹配模式 B 的文件中搜索模式 A?

我想知道是否有一些特殊的键可以作为我的搜索查询的一部分键入来完成此操作。

如果你使用 ag 作为搜索后端,你可以做 SPC-/ -G<file name regexp> <search pattern>,详情见 man ag

我不确定 grep 后端是否可以做类似的事情,我认为对 grep 的内部调用要复杂得多,添加标志往往会挂起我的 emacs 会话。从 shell 你可以 运行 grep -n <search pattern> <file pattern>