En Solaris, si abre un archivo en vi que tiene terminaciones de línea de Windows, esto aparece como ^ M al final de cada línea.
En Linux, vi es más inteligente y entiende el formato de archivo de Windows, y no muestra ^ M.
¿Hay alguna configuración para hacer que Linux vi se comporte igual que Solaris a este respecto?
Un problema común para nosotros es copiar un script de shell de un cuadro de desarrollo (Windows) y olvidarse de dos2unix, y luego confundirse cuando no funciona correctamente. En Solaris, el problema es obvio apenas se visualiza el archivo, pero no en Linux.
Gracias.

vim, por defecto, generalmente no veo^M, pero a veces hay uno al final del archivo.Respuestas:
Intente
:set ffs=unixal iniciar vi (o establecer como predeterminado en vimrc) que debería mostrar todos los caracteres CR como^M.vi auto-adivina qué formato usar en función de si encuentra o no líneas que terminan en LF o CR / LF.
fuente
:set listmuestra$al final de todas las líneas (formato Unix y DOS), por lo que no ayuda a distinguir entre los dos.Not an editor command: ffs=unix, pero me puso en el camino correcto. Ejecutar:set ffs=unixcon el archivo abierto en vi no funcionó, no hubo error pero no sucedió nada. Puseset ffs=unixmi archivo .vimrc y funcionó.ffsexactamente lo que es. Pero mira la respuesta de @wisbucky.Para mostrar las terminaciones de dos líneas para el archivo actual:
:e +ff=unixEsto fuerza el formato de archivo a Unix, que se representará
CRcomo^MPara hacer esta configuración permanente, agregue a
~/.vimrc:set ffs=unixTenga en cuenta que la configuración .vimrc es
ffs, noff.fuente
:e ++ff=unix, creo.:e ++ff=unix(por horquilla0) 54321
fuente