vim
Conversion de fichiers texte de DOS en UNIX avec vi
Recherche…
Remarques
Le caractère ^M
représente un retour à la ligne dans Vim ( <cm>
ou juste <CR>
). Vim affiche ce caractère lorsque au moins en ligne dans le fichier utilise des fins de ligne LF
. En d'autres termes, lorsque Vim considère qu'un fichier a un fileformat=unix
fichier fileformat=unix
mais que certaines lignes ont des retours de chariot ( CR
), les retours de chariot sont affichés sous la forme ^M
Un fichier ayant une seule ligne avec une fin de ligne LF
et plusieurs lignes avec des fins de ligne CRLF
est le plus souvent créé en éditant à tort un fichier créé sur un système basé sur MSDOS. Par exemple, en créant un fichier sous un système d'exploitation MSDOS, en le copiant sur un système UNIX, puis en ajoutant une méthode de hachage (par exemple #!/bin/sh
) à l'aide des outils du système d'exploitation UNIX.
Conversion d'un fichier texte DOS en fichier texte UNIX
Très souvent, vous avez un fichier qui a été édité sous DOS ou Windows et que vous affichez sous UNIX. Cela peut ressembler à ce qui suit lorsque vous affichez le fichier avec vi.
First line of file^M
Next Line^M
And another^M
Si vous souhaitez supprimer le ^ M, il se peut que vous supprimiez chaque ^ M à la main. Alternativement, en vi après avoir appuyé sur Échap, vous pouvez entrer les informations suivantes à l'invite du mode de commande:
:1,$s/^M//g
Où ^ M est entré avec Ctrl et v ensemble, puis Ctrl et m ensemble.
Ceci exécute la commande de la première ligne '1' à la dernière ligne '$', la commande consiste à substituer 's' le '^ M' pour rien '' et à cela globalement 'g'.
Utiliser le format de fichier de VIm
Lorsque Vim ouvre un fichier avec les extrémités de ligne <CR><NL>
(commun sur les systèmes d’exploitation basés sur MSDOS, également appelé CRLF
), il définira fileformat
à dos
, vous pouvez vérifier avec:
:set fileformat?
fileformat=dos
Ou juste
:set ff?
fileformat=dos
Pour le convertir en terminaisons <NL>
(commun sur la plupart des systèmes d'exploitation UNIX, également appelés LF
), vous pouvez modifier le paramètre fileformat
et Vim modifiera le tampon.
:set ff=unix