Question Convertir des fins de ligne DOS en des fins de ligne Linux dans vim


Si j'ouvre les fichiers que j'ai créés dans Windows, les lignes se terminent toutes par ^M.
Comment supprimer ces caractères en même temps?


587
2017-09-17 12:44


origine


Réponses:


dos2unix est un utilitaire de ligne de commande qui fera cela, ou :%s/^M//g sera si vous utilisez Ctrl-v  Ctrl-m pour entrer le ^ M, ou vous pouvez :set ff=unix et vim le fera pour vous.

Les documents sur le paramètre 'format de fichier' sont ici, et le wiki vim a une approche globale page sur les conversions de fin de ligne.

Alternativement, si vous déplacez beaucoup de fichiers, vous ne voudrez peut-être pas les convertir, mais plutôt faire :set ff=dos, donc vim saura que c'est un fichier DOS et utilisera des conventions DOS pour les fins de ligne.


897
2017-09-17 12:45



Changez les lignes de fond dans la vue:

:e ++ff=dos
:e ++ff=mac
:e ++ff=unix

Ceci peut également être utilisé comme opération de sauvegarde (: w seul ne sauvegarde pas en utilisant les lignes de fond que vous voyez à l'écran):

:w ++ff=dos
:w ++ff=mac
:w ++ff=unix

Et vous pouvez l'utiliser depuis la ligne de commande:

for file in $(ls *cpp)
do 
  vi +':w ++ff=unix' +':q' ${file}
done

215
2017-09-18 18:53



J'utilise généralement

:%s/\r/\r/g

ce qui semble un peu étrange, mais fonctionne à cause de la façon dont vim correspond à linefeeds. Je trouve aussi plus facile de se souvenir :)


147
2017-07-30 01:17



Je préfère utiliser la commande suivante:

:set fileformat=unix

Vous pouvez aussi utiliser mac ou dos pour convertir respectivement votre fichier en macintosh ou convention de fichier MS-DOS / MS-Windows. Et cela ne fait rien si le fichier est déjà dans le bon format.

Pour plus d'informations, consultez l'aide de vim:

:help fileformat

71
2017-09-17 12:51



:%s/\r+//g

Dans Vim, cela supprime tous les retours chariot et ne laisse que des retours à la ligne.


19
2017-09-17 12:45



:set fileformat=unix convertir de dos à unix.


16
2017-09-17 12:52



de: http://vim.wikia.com/wiki/Change_end-of-line_format_for_dos-mac-unix

[Esc]:% s / \ r $ //


13
2017-09-17 12:49