如何在VIM中将行尾替换为逗号?

4
ab
cd
ef

对于文本文件中的每一行,我想将它们全部放在一行中,并用逗号分隔:

ab,cd,ef

我尝试了以下方法:

%s/$/,/g

它插入了逗号,但行数仍然没有改变。在vim中该怎么做?

我把它改成了

%s/\n/,/g 

它起作用了。


7
如果 %s/\n/,/g 对你起作用了,那么你有什么问题吗? - DJMcMayhem
1个回答

12

有很多方法可以实现这个目标:

@ register:

在正常模式下,按2 @ = ' A , CTRL-V ESC J ' Enter

:s 命令:

%s/\n/,/|s/,$//

"Join" 插件

我写了一个 Vim 插件 https://github.com/sk1418/Join,它可以用分隔符连接行。在这种情况下,你可以这样做:

:%J ','

此插件允许您在vim中通过line-join进行其他操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接