我在 Vim 的substitute
-command 中遇到了一个我无法真正遵循的行为:
给定以下代码行,其中包含&&
我想用&&
with&&
和换行符替换的序列:
return a && b
在我的第一次尝试中,我只是使用了s/&& /&&^M/g
(^M
通过 插入Ctrl-V
<Enter>
)。这导致以下代码:
return a && &&
b
插入第二个的替换究竟是如何执行的&&<space>
?我希望第一个(也是唯一的匹配)是&&<space>
,而这个完整的匹配被替换为&&^M
?
问题不在于如何执行正确的替换 - 我最终使用\zs
令牌来重置比赛的开始并只插入换行符。我只是想了解为什么要引入重复。