如果我用途:vimgrep,它会搜索当前目录下的所有文件。但我的要求是在所有打开的文件中搜索/替换。例如,我正在使用vim同时打开3个文件
vim 1.cpp 2.cpp 3.cpp
我希望:1.搜索所有功能称为“主”和显示在quickfix窗口中,在所有3个文件.1.将所有3个文件中的“hello”替换为“world”。
9vw9lbht1#
使用以下命令:
bufdo s/string/replacement/g
bufdo:对所有缓冲区的操作。s:替换G:全球范围内。
00jrzges2#
如果你的Vim足够新,你可以使用:cdo命令:
:cdo
:vimgrep main {1,2,3}.cpp :cwindow :cdo s/foo/bar/g
weylhg0b3#
我已经使用了下面的命令,它为我工作。使用这个命令顺序。一个月一个月一个月一个月一个月
ifsvaxew4#
根据您在vim中处理多个文件的方式(选项卡,窗口等),您可以使用不同的命令search and replace in multiple files:
:tabdo
:windo
:bufdo
:ls
:argdo
首先用vim标签页打开多个文件:
$ vim -p file1.txt file2.txt
然后在vim中,您可以使用以下命令在多个文件中搜索和替换:
:tabdo %s/pattern/replace/gc
wlp8pajw5#
您可以使用命令模式。%s/(findstring)/(replacestring)
5条答案
按热度按时间9vw9lbht1#
使用以下命令:
bufdo:对所有缓冲区的操作。
s:替换
G:全球范围内。
00jrzges2#
如果你的Vim足够新,你可以使用
:cdo
命令:weylhg0b3#
我已经使用了下面的命令,它为我工作。使用这个命令顺序。
一个月一个月一个月一个月一个月
ifsvaxew4#
根据您在vim中处理多个文件的方式(选项卡,窗口等),您可以使用不同的命令search and replace in multiple files:
:tabdo
(所有选项卡):windo
(当前选项卡中的所有窗口):bufdo
(所有缓冲区,即:ls
命令列出的所有缓冲区):argdo
(参数列表中的所有文件):cdo
(快速修复列表中列出的所有文件)首先用vim标签页打开多个文件:
然后在vim中,您可以使用以下命令在多个文件中搜索和替换:
wlp8pajw5#
您可以使用命令模式。%s/(findstring)/(replacestring)