Hvis jeg åbner filer, som jeg har oprettet i Windows, slutter alle linjerne med ^M
.
Hvordan sletter jeg disse tegn alle på én gang?
dos2unix er et kommandolinjeværktøj, der kan gøre dette, eller :%s/^M//g
gør det, hvis du bruger Ctrl-v Ctrl-m til at indtaste ^M, eller du kan :set ff=unix
og vim vil gøre det for dig.
Dokumenter om 'fileformat' indstillingen er her, og vim-wikien har en omfattende side om konverteringer af linjeendelser.
Alternativt, hvis du flytter filer frem og tilbage meget, vil du måske ikke konvertere dem, men hellere lave :set ff=dos
, så vim ved, at det er en DOS-fil og bruger DOS-konventioner for linjeslutninger.
:g/Ctrl-v Ctrl-m/s///
CtrlM er tegnet \r
, eller vogn retur, som DOS-linjeslutninger tilføjer. CtrlV fortæller vim at indsætte et bogstaveligt CtrlM tegn på kommandolinjen.
Samlet set erstatter denne kommando alle \r
med ingenting og fjerner dem fra enderne af linjerne.