我在 vim 中的一个常见编程任务是:
:s/some pattern/
做一些工作
n #
找到下一个条目
做一些工作
n #
找到下一个条目...
现在,s/....
只在当前文件中搜索。
有没有办法可以做到这一点,但在文件目录中搜索?pwd
对以 .hpp结尾的子目录中的所有文件说“s /..../ ”.cpp?
谢谢!
您可以简单地使用:grep
命令:或者为了更完整地集成搜索工具,使用grep.vim 扩展名。
只需键入:help grep
即可获得有关 Vim 开箱即用功能的良好文档。使用:grep foo *.?pp
应该做你想做的事。这将打开QuickFix 列表,就像您使用的一样:make
,可以跳转到找到的事件。
有一个很棒的插件叫做ctrlsf.vim,它可以让你在 vim 中高效地搜索。
这是它的快照。很酷,不是吗?
例如,如果您想在当前目录中搜索“hello”之类的词,安装后,您只需输入:</p>
:CtrlSF "hello"
那么你会得到你所期望的。
玩得开心!
: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 "global confirm", wall (写所有), qall (相当全部)。查看文件列表 :ls top 跳转到下一个文件 :wn (下一个写入)或 :bn (下一个缓冲区)。顺便说一句,xargs 管理内存中的大块文件以毫无错误地传递给 vim。