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=unix
al 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 list
muestra$
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=unix
con el archivo abierto en vi no funcionó, no hubo error pero no sucedió nada. Puseset ffs=unix
mi archivo .vimrc y funcionó.ffs
exactamente lo que es. Pero mira la respuesta de @wisbucky.Para mostrar las terminaciones de dos líneas para el archivo actual:
:e +ff=unix
Esto fuerza el formato de archivo a Unix, que se representará
CR
como^M
Para hacer esta configuración permanente, agregue a
~/.vimrc
:set ffs=unix
Tenga en cuenta que la configuración .vimrc es
ffs
, noff
.fuente
:e ++ff=unix
, creo.:e ++ff=unix
(por horquilla0) 54321
fuente