Se débarrasser des caractères ^ M dans le vi

Si vous êtes un habitué vi utilisateur, vous avez sans doute remarqué que certains fichiers, lorsqu'ils sont édités dans vi, contiennent des caractères ^ M aux extrémités de ligne.

Cela arrive généralement lorsque vous modifiez un fichier en utilisant certaines fenêtres-rédacteurs, puis le transférer à votre machine à * nix.
Heureusement, il est facile de se débarrasser de ce caractère de contrôle. Alors que dans vi, exécutez la commande suivante:

: 1, $ s / ^ M / / g

Note importante: ne pas taper manuellement un accent circonflexe alors le caractère M majuscule. En effet, afin de taper ^ M, appuyez sur CTRL + V suivi par CTRL + M.

Une note rapide: la commande ci-dessus va rechercher le caractère ^ M de départ sur ​​la ligne 1, en ​​remplacement de celui-ci ($ s) avec rien (donc avoir les deux barres obliques consécutives / avec rien entre les deux). Et ce remplacement se fait au niveau mondial (g).

3 commentaires

Lèvres prothétique Janvier 21st, 2011 at 22:26

Euh ... juste une note, votre explication de l'$ est erroné.

1, $ signifie "les lignes 1 à la fin du fichier"
s signifie «rechercher et remplacer" (ou quelque telles absurdités)
g signifie techniquement "le faire à travers toute la ligne" (sinon il ne fonctionne tout simplement la première fois il le trouve)
le reste de votre explication était spot-on. Mais, par exemple, vous pourriez dire:

3,15 s / ^ M / /

pour signifier, remplacer toutes les occurrences sur les lignes 3 à 15. Le "g" n'a probablement pas d'importance pour vous, parce que vous obtenez seulement un par ligne de toute façon.

~ Lèvres prothétique

administrateur Janvier 31st, 2011 at 08:20

acclamations

LTC Janvier 6th 2012 à 10h40

s signifie «substitut» et non «rechercher et remplacer». Et il n'est pas absurde.
Recherche, bien sûr, est réalisé en utilisant avec la barre oblique / caractère.

Laisser un commentaire

Votre commentaire