如何在目录结构中的文件中搜索文本,但忽略某些文件。
例如,我希望能够找到文本sometext
,但不能找到与*.gz
匹配的搜索文件
答案 0 :(得分:2)
你可以这样做
vimgrep /sometext/g `find ~ \( -regextype posix-extended -regex '.*py' \) -not path ~/tmp`
有一种叫做反引号的表达式,它为vimgrep提供了参数:http://vimcasts.org/episodes/populating-the-arglist/
此处find
命令作为反引号表达式传递,find可以从vigrep中排除路径。
实际搜索字词很长,但您不必全部输入。我通常只使用q:
调出以前的ex
命令,搜索上一个find命令并修改它以进行下一次搜索。
答案 1 :(得分:1)
我认为您不能使用内部vimgrep
指定排除项。但是,您可以包含多个文件通配符,因此如果您可以通过这种方式指定所有您感兴趣的文件,则无需排除。例如:
vimgrep /sometext/ *.c *.h *.txt