一个常见的编程任务对我来说是:如何搜索vim中的文件目录?
:s/some pattern/
做了一些工作
n #
找到下一个入口
做了一些工作
n #
找到下一个入口 .. 。
Now,s/....
only searches在当前文件中。
有没有办法我可以做到这一点,但搜索整个目录的文件?对于pwd
的子目录中的所有文件,请做“s /..../”,结束于.hpp的 .cpp?
谢谢!
一个常见的编程任务对我来说是:如何搜索vim中的文件目录?
:s/some pattern/
做了一些工作
n #
找到下一个入口
做了一些工作
n #
找到下一个入口 .. 。
Now,s/....
only searches在当前文件中。
有没有办法我可以做到这一点,但搜索整个目录的文件?对于pwd
的子目录中的所有文件,请做“s /..../”,结束于.hpp的 .cpp?
谢谢!
您可以简单地使用:grep
command:或者为了更完整地整合搜索工具,请使用grep.vim extension。
只需输入:help grep
即可获得有关Vim开箱即用的很好文档。 使用:grep foo *.?pp
应该做你想做的。 这将打开QuickFix list,就像使用:make
获得的那个一样,可以跳转到找到的事件。
: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跳到下一个文件:wn(下一个写入)或:bn(下一个缓冲区)。顺便说一下,xargs在内存中管理大块文件,以传递给vim。
这只是一种解决方法,所以我不会将它发布为答案:您可以在一个vim会话中打开所有文件,以便您可以:n到下一个,然后录制一个宏,该宏执行:s/... /和:n并执行足够多次的宏。 (运行宏常常不会造成任何伤害,因为替换将会一次又一次地用于最后一个文件) – Frank 2010-02-03 09:27:12