147 votes

Comment ajouter du texte à la fin de chaque ligne dans Vim ?

Dans Vim, j'ai le texte suivant :

key => value1
key => value2
key => value1111
key => value12
key => value1122222

J'aimerais ajouter "," à la fin de chaque ligne. Le texte précédent deviendra le suivant :

key => value1,
key => value2,
key => value1111,
key => value12,
key => value1122222,

Quelqu'un sait comment faire ça ? Est-il possible d'utiliser le mode bloc visuel pour y parvenir ?

204voto

Alan Curry Points 6612

Cela le fera à chaque ligne du fichier :

:%s/$/,/

Si vous voulez faire un sous-ensemble de lignes au lieu du fichier entier, vous pouvez les spécifier à la place du %.

Une façon est de faire une sélection visuelle, puis tapez le :. Il remplira :'<,'> pour vous, puis vous tapez le reste (Notez que vous n'avez qu'à ajouter s/$/,/)

:'<,'>s/$/,/

50voto

romainl Points 55506

Une autre solution, en utilisant une autre grande fonctionnalité :

:'<,'>norm A,

Voir :help :normal.

43voto

Ned Batchelder Points 128913

le mode ex est le plus facile :

:%s/$/,

: - enter command mode
% - for every line
s/ - substitute
$ - the end of the line
/ - and change it to
, - a comma

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X