我有一个CSS文件,想在每个
}
后添加一个空行。如何在Vim中实现?}
后添加一个空行。如何在Vim中实现?一次替换会很好地解决问题。
:%s/}/\0\r/g
}
替换为整个匹配项 \0
和一个换行符 \r
。:%s/}/&\r/g
我认为 &
作为整个匹配的替代也是一种替代方式,虽然有点有趣。Vim高手喜欢使用它,因为这样可以节省一个按键 :)
\0
或者 &
在替换部分中充当特殊字符。在替换过程中,整个匹配的字符串将替换替换部分中的 \0
或 &
字符。
我们可以通过更复杂的搜索和替换来演示这一点 -
Which witch is which?
:s/[wW][ih][ti]ch/The \0/g
给 -
The Which The witch is The which?
\0
(更短的是&
)重新插入匹配,\r
是换行符的转义序列(在替换中通常是\n
)。 - Ingo Karkat:%s/pre/cur\r/g
%
: 操作整个缓冲区。
pre
(上一个模式):将要被更改的模式。
cur
(当前模式):用来更改上一个模式的模式。
\r
:新行。
g
:为每个匹配项重复执行操作(默认情况下只替换第一个匹配项)。
:%s/}/}\r/
,我猜的。