如何使用Vim将列表转换为CSV



我想要这个列表:

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

最新更新