每次用pattern1
替换pattern2
之前,我通常会使用/pattern1
来确认正则表达式是正确的。但是,在进行实际替换时,我必须使用:%s/pattern1/pattern2/g
(假设我需要进行全局替换)。这很烦人,可能因拼写错误而失败。
有没有一种方便的方法来替换匹配的pattern1
?
答案 0 :(得分:4)
//是最后一次搜索
:%s//replacement/g
会做你想做的事。
但您也可以考虑%s/pattern1/pattern2/gc
或%s/p1/p2/gn
答案 1 :(得分:1)
s命令前半部分的空字符串默认为最后搜索的模式。
所以
g/fred/s//mary/g
将fred的所有实例更改为mary。
答案 2 :(得分:1)
只使用空图案:
:%s//pattern2/g
答案 3 :(得分:1)
我认为:
:。,+ 3秒// REPL /克
应该用repl。
替换接下来3行中当前模式的每个出现答案 4 :(得分:1)
您可以使用类似:%s/pattern/replace/c
的内容(请注意尾随c
),vim会要求确认。