我很习惯这样做:
:vimgrep /whatever/ **/*
或者
:vimgrep /whatever/ **/*.txt
但是有没有办法用 vim globbing 来做,比如 2 种文件类型?我想我想要一些可以像这样工作的东西:
:vimgrep /whatever/ \*\*/.(txt|vb)
:vimgrep /whatever/ *.{txt,vb}
是你要找的,我相信。
试试这个
:vimgrep /whatever/ *.txt *.vb
我不使用 vimgrep,而是使用find+grep+xargs的(未记录的)外部perl 包装器。在 vim 中,您的搜索将变为:
:Searchfile txt,vb whatever
您可能对我编写的名为EasyGrep的插件感兴趣。它允许您自动搜索与您正在编辑的文件匹配的文件(带有递归搜索选项)以及与当前文件相关的文件。
例如:当 test.cpp 打开时,匹配任何一个 *.cpp *.hpp *.cxx *.hxx *.cc *.c *.h 的文件将在启动搜索时被搜索。您还可以定义自己的关系或按需创建自定义关系。