vi编辑器中将数字列转换为行的命令是什么?

use*_*739 2 vim

这是我正在处理的问题:

$cat k    
23
22
35
24
42
:
:
36
Run Code Online (Sandbox Code Playgroud)

我有这样的文件,我想使用vim转换它像这样.

22,23,35,24,42,8,......,36 
Run Code Online (Sandbox Code Playgroud)

请帮忙

Ken*_*ent 6

选项1:

你可以执行:

:%s/\n/,/
Run Code Online (Sandbox Code Playgroud)

这会,在行尾留下额外的逗号,您可以$x删除它.

这将替换没有额外的结尾逗号:

:1,$-1s/\n/,/
Run Code Online (Sandbox Code Playgroud)

选项2:

使用我的加入插件:http://www.vim.org/scripts/script.php? script_id = 4516

有它你只需要:

:%J ','
Run Code Online (Sandbox Code Playgroud)

选项3(awk)

如果awk也被你接受了,你不需要自己处理逗号,jst让awk自动为你添加它们.它可以像以下一样简单:

awk -F"\n" '$1=$1' RS="" OFS="," file
Run Code Online (Sandbox Code Playgroud)