使用Vimgrep在多个通配符指定的文件集中搜索

12

有人知道使用Vimgrep语法在多个文件中搜索的方法吗?我正在尝试在当前目录下使用该命令进行搜索。

map <F3> :execute "vimgrep /" . expand("<cword>") . "/j **/*.c* *.txt" <Bar> cw<CR>

使用这个命令,Vim只会搜索*.c*文件类型。有没有什么方法可以搜索多个文件类型?

3个回答

25

在当前目录下递归搜索所有*.txt和*.php文件中的“text”。

:vimgrep "text" **/*.txt **/*.php

7
我还要补充一点,输入:cn:cp可以分别跳转到下一个和上一个匹配项。 - Shane Stillwell
当给定的类型不存在时,确认信息会变得很烦人。 - Joey.Z
"**/*.php" [new directory]·\n"[Quickfix list]...\n Press Enter to continue" - Joey.Z

4
在这个目录中
:vimgrep "search subject" *.c
:vimgrep blah *.[ch]
:vimgrep blah *.c* *.h

在此目录或其任何子目录中

:vimgrep "search subject" ./**/*.c

2
值得注意的是,在当前目录下进行递归操作时,您不需要使用"./"。 - latortuga

0

我刚开始接触Vim,这个问题教会了我vimgrep的存在。是否有一种方法可以循环浏览结果?比如说我想找到所有"用户"的实例,并使用

:vimgrep /user/g **/*.rb

我该如何循环遍历这段文本的实例?


1
这些结果将被添加到快速列表窗口中。您可以使用“:copen”打开快速列表窗口,并可以循环浏览结果。 - Naga Kiran
1
嗯,khebbie,这已经过去一年了吗?感谢您的反馈。 - Scott Radcliff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接