在VIM中添加换行后的换行符

Cha*_*ist 21 regex vi vim replace substitution

我有一个css文件,我希望每次都添加一个空行}.

我怎么能在Vim中这样做?

Tom*_*ann 33

替换可以很好地工作.

:%s/}/\0\r/g
Run Code Online (Sandbox Code Playgroud)

替换}为整个匹配\0和新的线条字符\r.
要么

:%s/}/&\r/g
Run Code Online (Sandbox Code Playgroud)

&整个比赛的替代方案中,虽然在我看来看起来有点滑稽.Vim高尔夫爱好者喜欢它,因为它为他们节省了一次击键:)

\0&在替换的替换部分充当特殊字符.在替换期间,匹配的整个字符串将替换替换中\0&字符或字符.

我们可以通过更复杂的搜索和替换来证明这一点 -

Which witch is which?
Run Code Online (Sandbox Code Playgroud)

申请替代 -

:s/[wW][ih][ti]ch/The \0/g
Run Code Online (Sandbox Code Playgroud)

给 -

The Which The witch is The which?
Run Code Online (Sandbox Code Playgroud)

  • 对于这样一个初学者的问题,一个解释肯定会有所帮助:`\ 0`(更短的将是`&`)重新插入匹配,`\ r``是换行符的转义序列(在替换中,通常它是'\' N`). (4认同)

Dan*_*sky 6

答案是:%s/}/}\r/我猜.


alh*_*lal 5

:%s/pre/cur\r/g
Run Code Online (Sandbox Code Playgroud)

%: 对整个缓冲区进行操作。

pre(以前的模式):将要更改的模式。

cur(当前模式): 之前的模式将被改变。

\r: 新队。

g: 对一行上的每个匹配重复(默认是只替换第一个)。