web-dev-qa-db-fra.com

Supprimer tous les espaces d'un fichier et les remplacer par une virgule à l'aide de Vim

Quelqu'un a une idée sur la façon de supprimer tous les espaces et de les remplacer par une virgule , dans un fichier utilisant Vim? Exemple de saisie de fichier (les mots peuvent être partout!): 

C1       TEST   PROD
A1    BE


T1     B1 

Exemple de sortie de fichier (tous les mots appartenant à la même ligne sont comme dans l'exemple ci-dessous):

C1,TEST,PROD
A1,BE
T1,B1 

Je l'ai trouvé : %s/\s\{1,}/,/gc

21
hdoghmen

Commencez par supprimer les lignes vierges:

:g/^\s*$/d

Utilisez ensuite une substitution (:s///) sur chaque ligne (%) pour remplacer tout (g) espace blanc continu (\s\+) par une virgule (,).

 :%s/\s\+/,/g
57
Tim

Une autre façon de le faire: 

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

4
hdoghmen

lors de la conversion d'un fichier texte avec en-têtes et champs de texte avec espaces, j'ai utilisé %s/\s\{2,}/,/g 

0
user2584621