我被绊倒Vim的substitute
-command行为,我不能 真正遵循:VIM-substitute命令插入重复
考虑下面的代码行包含&&
序列我想 替代品&&
与&&
和换行符:
return a && b
在我第一次尝试我只是用s/&& /&&^M/g
(^M
经Ctrl-V <Enter>
插入)。 这导致下面的代码:
return a && &&
b
被替换执行究竟是如何插入第二&&<space>
? 我预计第一场(也是唯一的比赛)是&&<space>
,而这次完整的比赛是 将被&&^M
所取代?
的问题不是如何执行正确的替换 - 我最终 使用\zs
令牌重置比赛开始,只有插入 换行符。 我只是想明白为什么引入重复。
啊,这解释了为什么'/ && /和&M/g' DID的工作。也许我应该只打印':h regex'作为参考。 – BergmannF 2012-07-18 08:26:04
@Gjallar:在nomagic模式下,&&变成一个正常字符。但是,我不确定如何开启替代模式的nomagic模式。 – 2012-07-18 08:27:59
尝试:':sno/&&/&& \ r' – kev 2012-07-18 09:31:05