Supprimer les caractères MS-DOS ^M avec vim
Nous avions vu, il y a quelques temps, différentes astuces pour supprimer les caractères MS-DOS des fichiers textes sous Linux. Voici une nouvelle astuce qui permet de faire cela directement depuis l'éditeur vim.
Pour convertir un fichier ouvert avec vim au format UNIX, il suffira d'utiliser la commande suivante :
:set ff=unix
Ou celle-ci, si l'on souhaite utiliser le format MS-DOS :
:set ff=dos
Pour ceux qui veulent en savoir plus, ff est un raccourci pour fileformat. La commande suivante marchera aussi :
:set fileformat=unix
5 Commentaires pour "Supprimer les caractères MS-DOS ^M avec vim"
Flux des commentaires de cet article Ajouter un commentaireQuelques astuces complémentaires sur les retours à la ligne :
Supprimer tous les retours à la ligne
:s/\n//
Fusionner deux lignes
J
Insérer un retour à la ligne après un texte précis (eg. "EOL")
:s/\(EOL\)/\1\r/g
Supprimer le dernier caractère de chaque ligne
:s/.$//
Supprimer les blancs en fin de ligne
:s/\( \|\t\)*$//
etc.
Concernant les parenthèses en regexp, quelle est la "vraie" façon de l'écrire (avec ou sans backslash) parce que çà change d'un logiciel à un autre, par exemple vi/vim fonctionne d'une façon et eclipse/geany fonctionnent de l'autre, c'est assez troublant...
@vim : merci pour les astuces complémentaires.
@R@OUL : pour moi, en regex, les méta-caractères (parenthèses, accents circonflexes, dollars...) doivent systématiquement être échappés.
Quand j'ai ce genre de souci j'utilise l'utilitaire « unix2dos » qui transforme les retours à la ligne doz en retour à la ligne unix like. Je trouve ça plus joli que d'utiliser :ff
Oops, fail, c'est « dos2unix » que j'utilise... Et en plus le temps d'édition est dépassé...