如果我使用:vimgrep,它会搜索当前目录下的所有文件。但我的要求是在所有打开的文件中搜索/替换。
E.g。我正在使用vim同时打开3个文件
vim 1.cpp 2.cpp 3.cpp
我希望:
搜索所有名为“main”的函数,并在quickfix窗口中显示所有3个文件。
- 醇>
在所有3个文件中将所有“hello”替换为“world”。
答案 0 :(得分:4)
如果您的Vim足够新,您可以使用:cdo
命令:
:vimgrep main {1,2,3}.cpp
:cwindow
:cdo s/foo/bar/g
答案 1 :(得分:3)
使用命令:
bufdo s/string/replacement/g
bufdo:对所有缓冲区执行操作。
s:替换
g:全球。
答案 2 :(得分:0)
我使用了以下对我有用的命令。顺序使用此命令。
:set autowriteall
:bufdo! %s/pattern/replace/g
答案 3 :(得分:-1)
您可以使用命令模式。 %的S /(FINDSTRING)/(replacestring)