Vi sarà capitato in sistemi Unix/Linux di aprire file di testo, script etc, e trovare alla fine di ogni riga il carattere ^M, che diversamente da quanto si può pensare non è qualcosa di inserito erroneamente, ma è il carriage return, cioè il ritorno a capo, per come, diversamente dai sistemi Windows, viene gestito nella codifica dei sistemi UNIX e Linux, e che corrisponde alla combinazione di tati CTRL+M.
Per rimuovere i caratteri ^M alla fine di ogni riga mediante l’uso di Vi (o Vim), basta usare il seguente comando nella modalità comando, cioè la modalità di avvio di vi/vim, ottenibile tramite la pressione del tasto ESC:
:%s/^V^M//g
Il carattere ^V è dato dalla combinazione di tasti CONTROL-V, mentre il carattere^M si ottiene mediante la pressione dei tasti CONTROL-M. Ottenendo così il seguente output:
:%s/^M//g
Stiamo così dicendo al nostro sistema UNIX/Linux di effettuare una ricerca e sostituzione di una espressione regolare (con %s) della prima espressione, e quindi il carattere ^M (il cui escape è fatto con ^V), con la seconda espressione, quindi nulla, cioè quanto riportato il secondo ed il terzo slash, il tutto deve essere fatto globalmente, cioè per ogni occorrenza (come riportato dalla g).