我有一个如下列表:
words
more words
here's more
skip space
words here
bananza!
D: look
more spaces
and words!
Run Code Online (Sandbox Code Playgroud)
如何仅在那些带有文本的行的开头插入内容?:%norm 0i*
会放得很*
好,但是因为它会处理所有行,所以它也会得到空行。有没有什么办法可以做到这一点而不必回去清除那些空格(我知道它们只是*,所以应该不难做到,但这是额外的工作)
小智 10
这样的事情应该工作:
:%s/^\(.*[^\n]\)$/* \1/
Run Code Online (Sandbox Code Playgroud)
编辑由于您要求对正则表达式进行细分:
:%
所有线路
s/
替代命令的开始;开始模式
^
行首
\(
我们要保留的组的开头。这将在以后很重要。
.*
任意数量的字符
[^\n]
除了换行符之外的一些字符
\)
组结束
$
行结束
/
模式结束,替换开始
* \1
插入*
,然后是我们在左侧选择的第一组。
/
替换和命令结束