如何在vim中搜索文件目录?

时间:2010-02-03 09:21:34

标签: vim editing

vim中常见的编程任务是:

:s/some pattern/

做一些工作

n #找到下一个条目

做一些工作

n #找到下一个条目 ...

现在,s/....仅搜索当前文件。

有没有办法可以做到这一点,但是搜索文件的目录?对pwd的子目录中的所有文件执行“s /.... /”,这些文件以 .hpp 结尾 strong> .cpp

谢谢!

3 个答案:

答案 0 :(得分:28)

您只需使用:grep command:或者为了更完整地整合搜索工具,请使用grep.vim extension

只需输入:help grep即可获得Vim开箱即用的文档。 使用:grep foo *.?pp应该做你想要的。 这将打开QuickFix list,就像您使用:make获得的那样,可以跳转到找到的匹配项。

答案 1 :(得分:3)

:help windo
:help bufdo
man find
man xargs

find ./start/point -iname "*.cpp" -print0 | xargs -0 vim
:bufdo s/baar/foo/gc
:wall
:qall

gc"全球确认",墙(写全部),qall(全部)。要查看文件列表:ls top jump to next file:wn(write next)或:bn(buffer next)。顺便说一下,xargs在内存中管理大块文件,以便将错误传送给vim。

答案 2 :(得分:1)

有一个名为ctrlsf.vim的出色插件,可让您有效地在vim中进行搜索。

这是它的快照。挺酷的,不是吗?

enter image description here

例如,如果要在当前目录中搜索“ hello”之类的单词,安装后,只需输入:

:CtrlSF "hello"

然后您将得到期望的结果。

玩得开心!