我在vim中的一个常见编程任务是:
:s/some pattern/
做一些工作n #查找下一个条目做一些工作n #查找下一个条目...现在,s/....只在当前文件中搜索。有没有一种方法可以做到这一点,但搜索整个 * 目录 * 的文件?对pwd的子目录中以 .hpp 或 *.cpp**结尾的所有文件执行“s/..../”?谢谢!
n #
s/....
pwd
mznpcxlj1#
你可以使用:grep命令:或者要更完整地集成搜索工具,请使用grep.vim extension。只需输入:help grep即可获得Vim开箱即用的详细文档。使用:grep foo *.?pp应该做你想做的。这将打开QuickFix列表,就像您使用:make获得的列表一样,可以跳转到找到的事件。
:grep
:help grep
:grep foo *.?pp
:make
5fjcxozz2#
有一个很棒的插件名为ctrlsf.vim,它可以让你在vim中高效地搜索。这是它的快照。很酷,不是吗?
例如,如果你想在当前目录中搜索像“hello”这样的词,安装后,你需要做的就是简单地输入:
:CtrlSF "hello"
你就会得到你想要的玩得开心!
unhi4e5o3#
: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 top跳转到下一个文件:wn(写入下一个)或:bn(缓冲区下一个)。顺便说一句,xargs管理内存中的大块文件,以无错误地交付给vim。
3条答案
按热度按时间mznpcxlj1#
你可以使用
:grep
命令:或者要更完整地集成搜索工具,请使用grep.vim extension。只需输入
:help grep
即可获得Vim开箱即用的详细文档。使用:grep foo *.?pp
应该做你想做的。这将打开QuickFix列表,就像您使用:make
获得的列表一样,可以跳转到找到的事件。5fjcxozz2#
有一个很棒的插件名为ctrlsf.vim,它可以让你在vim中高效地搜索。
这是它的快照。很酷,不是吗?
例如,如果你想在当前目录中搜索像“hello”这样的词,安装后,你需要做的就是简单地输入:
你就会得到你想要的
玩得开心!
unhi4e5o3#
gc“全局确认”,wall(写入全部),qall(完全全部)。要查看文件列表:ls top跳转到下一个文件:wn(写入下一个)或:bn(缓冲区下一个)。顺便说一句,xargs管理内存中的大块文件,以无错误地交付给vim。