17

为了在从当前行到另外 30 行的范围内将每次出现的“&”替换为“&&”,我发出:.,+30s/\\&/\\&\\&/g但 Vim 说“找不到模式”。我通过双反斜杠“\”转义特殊字符“&”。

4

3 回答 3

13

您不需要在正则表达式的第一部分转义 & 符号。它仅在第二(替换)部分具有特殊含义。

您正在寻找显示“\&”的模式并将其替换为显示“\&\&”的模式。

替换的简单方法是:

:.,+30s/&/&&/g
于 2012-05-17T15:28:58.037 回答
13

尽量不要逃避一切 -:.,+30s/&/&&/g似乎对我有用。

于 2012-05-17T15:27:02.010 回答
4

如果您需要更改&的位置,例如:_&&必须在替换表达式的替换语句中转义,&_这也是有用的注释:

:.,+30s/ &/\& /g
           ^
于 2015-08-12T16:12:51.263 回答