UNIX trata el final de la línea de manera diferente a otros sistemas operativos. A veces, al editar archivos en entornos Windows y UNIX, al final de cada línea se muestra un carácter CTRL-M como ^ M en vi.
Para eliminar los caracteres ^ M al final de todas las líneas en vi, use:
:% s / ^ V ^ M // g
El ^ v es un carácter CONTROL-V y ^ m es un CONTROL-M. Cuando escribas esto, se verá así:
:% s / ^ M // g
En UNIX, puede escapar de un carácter de control precediéndolo con un CONTROL-V. El:% s es un comando básico de búsqueda y reemplazo en vi. Le dice a vi que reemplace la expresión regular entre la primera y la segunda barra (^ M) con el texto entre la segunda y la tercera barra (nada en este caso). La g al final le indica a vi que busque y reemplace globalmente (todas las ocurrencias).