Als ik bestanden open die ik in Windows heb gemaakt, eindigen de regels allemaal met ^M
.
Hoe verwijder ik deze tekens allemaal in één keer?
dos2unix is een commandline hulpprogramma dat dit zal doen, of :%s/^M//g
zal doen als je Ctrl-v Ctrl-m gebruikt om de ^M in te voeren, of je kunt :set ff=unix
en vim zal het voor je doen.
Docs over de 'fileformat' instelling zijn hier, en de vim wiki heeft een uitgebreide pagina over regel-einde conversies.
Als alternatief, als je bestanden veel heen en weer schuift, wil je ze misschien niet converteren, maar in plaats daarvan :set ff=dos
doen, zodat vim weet dat het een DOS bestand is en DOS conventies gebruikt voor regeleinden.
:g/Ctrl-v Ctrl-m/s///
CtrlM is het karakter `r
, of carriage return, dat DOS regeleinden toevoegt. CtrlV vertelt vim om een letterlijk CtrlM karakter in te voegen op de commandoregel.
In zijn geheel vervangt dit commando alle `` door niets, en verwijdert ze van het einde van regels.