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