我在vim中经常进行的一个常见编程任务是:
:s/some pattern/
做一些工作
n #
找到下一个条目
做一些工作
n #
找到下一个条目
...
现在,s/....
只在当前文件中搜索。
有没有一种方法可以做到这一点,但可以在一个目录中搜索文件?比如在以.hpp或.cpp结尾的子目录下使用 "s/..../" ?
谢谢!
我在vim中经常进行的一个常见编程任务是:
:s/some pattern/
做一些工作
n #
找到下一个条目
做一些工作
n #
找到下一个条目
...
现在,s/....
只在当前文件中搜索。
有没有一种方法可以做到这一点,但可以在一个目录中搜索文件?比如在以.hpp或.cpp结尾的子目录下使用 "s/..../" ?
谢谢!
:grep
命令:或者为了更完整地集成搜索工具,可以使用grep.vim扩展。:help grep
,就可以获得Vim中默认提供的详细文档。
使用:grep foo *.?pp
应该可以满足你的需求。
这将打开QuickFix列表,就像使用:make
时一样,可以跳转到找到的位置。:vimgrep
。 - khatchad: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表示"全局确认",wall表示"写入所有",qall表示"退出所有"。要查看文件列表:ls;跳转到下一个文件:wn(写入下一个)或bn(缓冲区下一个)。另外,xargs可以管理大块文件在内存中进行操作,以便无误地传递给vim。