我想要这个列表:
one
two
three
four
five
six
显示为:
one,two,three,four,five,six
如果我使用Vim的搜索和替换,如:
:%s/n/,/g
结果会是:
one,two,three,four,five,six,
有没有办法避免最后一个逗号?
如果你真的想用一个替代:
:%s/n(.)/,1
n
匹配每一行换行符,包括最后一行上的换行符,所以我们通过在换行符后面立即添加字符来去掉最后一行。该角色被放入一个捕获组中,以便我们在替换部件中重用它。
坦率地说,以下内容可以在相同的击键次数下完成任务,但不会太令人头疼:
:%s/n/,|norm $x
在运行替换命令(请参阅:help :normal
(之前,您可以在除最后一行之外的所有行中添加逗号:
:1,$-1 norm A,
当然,在替换过程中不要添加逗号:
:%s/n