148 votes

^M à la fin de chaque ligne dans vim

Quand je suis à l'édition des fichiers sources à l'aide de vim et d'autres éditeurs, parfois, à la fin de la ligne, je reçois ces ^M caractères à la fin de chaque ligne. Je pense qu'il a quelque chose à voir avec l'édition d'un fichier de windows et sous linux. Comment puis-je supprimer tous ces automatiquement?

136voto

Tobias Baaz Points 884

Comme une commande, tapez

:%s/^M$//

(De ^M, appuyez sur ^V ^M, où ^ est CTRL sur la plupart des claviers)

98voto

sarnold Points 62720

Un moyen facile de dépouiller le DOS des fins de ligne est d'utiliser l' ff option:

:set ff=unix
:wq

Maintenant, votre fichier est de retour à la bonne vieille Unix.

Si vous voulez ajouter la ligne de DOS-les terminaisons (pour garder une imprimante heureux, ou de transférer des fichiers avec Windows amis qui n'ont pas de belles outils), vous pouvez aller dans le sens opposé facilement:

:set ff=dos
:wq

35voto

jqno Points 7831

Vous pouvez faire ceci:

:set fileformats=dos

Il permet de masquer l' ^Ms', sans toucher au fichier.

19voto

Adam Lassek Points 18918

Il y a un programme appelé dos2unix qui devraient bande pour vous. Windows utilise différents line-caractères de fin qui est pourquoi.

7voto

TheRealKingK Points 495

Cela a fonctionné pour moi dans un fichier qui avait tout sur une seule ligne:

D'abord trouver tous les matches

:%s/^M//

(Pour obtenir de l' ^M, appuyez sur ^V ^M, où ^ est Ctrl sur la plupart des claviers)

Puis remplacer par des retours à la ligne

:%s//\r/g

Combiné de commande serait:

:%s/^M/\r/g

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