2012-12-07 27 views
19

任何人都有一个想法如何删除所有的空格,并用Vim中的逗号替换为逗号,? 文件输入示例(字可能是无处不在!):删除文件中的所有空白,并用逗号替换为逗号使用Vim

C1  TEST PROD 
A1 BE 


T1  B1 

文件输出示例(属于同一行的所有单词都像在下面的例子):

C1,TEST,PROD 
A1,BE 
T1,B1 

我发现它%s/\s\{1,}/,/gc

回答

47

首先删除空行:

:g/^\s*$/d 

然后用取代(:s///)在每个线(%)用逗号(,)取代所有(g)连续空白(\s\+)。

:%s/\s\+/,/g 
+3

各成分的说明是特别有用和答案常常省略SO。谢谢! (也就是说,第一行也一样有用) – ryanjdillon

2

另一种方式来做到这一点:

%s/\s\{1,}/,/gc