63 votes

Dans Vim, quelle est la façon la plus simple d'adhérer à toutes les lignes dans un fichier en une seule ligne?

Je veux me joindre à toutes les lignes dans un fichier en une seule ligne. Quelle est la façon la plus simple de faire cela? J'ai eu la mauvaise chance en essayant d'utiliser la substitution (\r\n ou \n ne semble pas obtenir ramassé correctement dans le cas d' s/\r\n// sur Windows). À l'aide de J dans une expression de la plage ne semble pas fonctionner soit (probablement parce que la gamme n'est plus dans le "sync" après la première commande est exécutée).

J'ai essayé d' :1,$norm! J mais ce seulement la moitié de la file - qui n'a de sens parce qu'il rejoint chaque fois en ligne.

137voto

orip Points 28225

D'une autre manière:

ggVGJ

"ggVG" visuellement sélectionne toutes les lignes, et "J" se joint à eux.

73voto

Jordan Parmer Points 12286

Ah, j'ai trouvé la réponse.

:1,$join

Fonctionne comme un charme.

EDIT: Comme l'a souligné dans le commentaire:

:%join   -or-    :%j

...supprime la gamme.

40voto

Dimi Points 151

Vous pouvez le faire avec 3 touches de départ du mode normal

:%j

: entre en mode de commande % fait référence à toutes les lignes dans le fichier j exécute la commande join

Maintenant, il semble que cela ajoute un espace entre les lignes. Je ne suis pas sûr si vous le souhaitez.

17voto

tpgould Points 1114

Vous pouvez le faire en moins de trois touches:

:1,$j

n'est-ce pas ed grand?

9voto

Aristotle Pagaltzis Points 43253

Je suis surpris que personne n'évoque même l'autre sens:

:%s/\n/ /

Je suis tout aussi surpris que personne n'ait souligné que la portée de l' 1,$ a un texte qui est écrit %.

(Ce n'est pas faire la même chose que de rejoindre les lignes, mais selon les circonstances qui peuvent en fait être plus approprié.)

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