Answers:
添加标志c(在vim命令提示符下):
:%s/old/new/gc
每次出现“旧”字词都会提示您“是/否”。
一旦选择了确认替代,Vim的内置帮助将提供有关可用选项的有用信息。用:
:h :s
然后滚动到确认选项部分。屏幕截图如下:
例如,要替换此匹配项和所有剩余匹配项,请使用a
。
马克·比耶克指出:
%s/old/new/gc
对于全局搜索,请用每次替换的确认替换。但是,我也很喜欢交互式验证旧文本是否正确匹配。我首先使用正则表达式进行搜索,然后重用该模式:
/old.pattern.to.match
%s//replacement/gc
在s//
将使用最近的搜索模式。
我认为您正在寻找c
,例如s/abc/123/gc
,这将使VIM确认替换。有关更多信息,请参见:help:substitute。
我通常使用find / substitute / next / repeat命令:-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
那是find "old"
,substitute 3 characters for "new"
,find next
,repeat substitute
,等。
对于大量替换而言,这是一个痛苦,但是它使您可以有选择地忽略某些旧的事件(只需n
再次按下以查找下一个替换而不是.
重复一次替换)。
<CR>
?
如果您需要为每个匹配的匹配项更改替换文本(即,不简单地选择“是/否”以应用单数替换),则可以使用我制作的名为Interactive-replace的Vim插件。