答案 0 :(得分:3)
您可以通过以下替换来实现这一目标:
:%s/^.*$/&,&/
^ ^
^.*$
模式将匹配整行,&
是整个匹配的反向引用。因此,替换是插回整个匹配,逗号,以及整个匹配。
注意:此^
模式中的$
和^.*$
可以省略,但很多人更喜欢在模式中将其明确保留促进模式可读性和进一步的模式测试。
如果您想避免匹配空行,则可以选择:
:%s/.\+/&,&/
^^^
.\+
将匹配1个或多个字符。
答案 1 :(得分:3)
使用:s
%s/.*/&,&/
请注意
^ and $
,因为正则表达式是贪婪的。g
标志。 /
或使用normal
命令:
%norm! yaWA,^R"
或
%norm! yg_A,^R"
^R
,按<c-v><c-r>
答案 2 :(得分:1)
不使用正则表达式的另一种方法是在更改第一行时录制宏,然后播放宏以更改其余行。
ggqay$A,<ESC>p+q4@a
说明:
gg
将光标移动到第一行的开头
qa
开始录入注册a
y$
复制该行
A
转到行尾的插入模式
,<ESC>
插入逗号并返回正常模式
p
粘贴副本
+
将光标移动到下一行的开头
q
停止录制
4@a
播放宏四次以更改接下来的四行。
答案 3 :(得分:-1)
逐一执行:
:%s/abc/abc,abc/g
:%s/123/123,123/g
:%s/this/this,this/g
:%s/them/them,them/g
:%s/my/my,my/g
同样,用所需的字符串替换字符串以操作任何字符串。