Cuando estoy editando archivos fuente usando vim y otros editores a veces al final de la línea, obtengo estos caracteres ^ M al final de cada línea. Creo que tiene algo que ver con editar un archivo en Windows y luego en Linux. ¿Cómo puedo eliminar todo esto automáticamente?
132
^M
s. La única indicación que tiene al editar un archivo de texto de DOS en Vim es si tiene%{&ff}
elstatusline
valor de su opción. Vim muestra^M
cuándo se mezcla el estilo de final de línea . Significa que ha utilizado un editor de texto que no es tan inteligente como Vim, que no ha seguido el estilo de finalización de línea existente, como lo hará Vim por defecto. Si usa Vim o algo más de su calibre en Windows, no obtendrá terminaciones de línea arruinadas como esa.Respuestas:
Como comando, escriba
(Para obtener ^ M, presione ^ V ^ M, donde ^ es CTRL en la mayoría de los teclados)
fuente
:%s/\r$
Una forma fácil de eliminar las terminaciones de línea de DOS es usar la
ff
opción:Ahora su archivo está de vuelta a la buena forma de Unix.
Si desea agregar los finales de línea de DOS (para mantener feliz a una impresora o transferir archivos con amigos de Windows que no tienen buenas herramientas), puede ir en la dirección opuesta fácilmente:
fuente
git diff
muestra cada línea eliminada y cada línea agregada: /diff
, no engit
.Puedes hacerlo:
Ocultará los
^M
's, sin tocar el archivo.fuente
Hay un programa llamado dos2unix que debería eliminarlos por ti. Windows usa diferentes caracteres de final de línea, por eso sucede eso.
fuente
Esto funcionó para mí en un archivo que tenía todo en una línea:
Primero encuentra todos los partidos
(Para obtener
^M
, presione ^ V ^ M, donde ^ está Ctrlen la mayoría de los teclados)Luego reemplace con saltos
El comando combinado sería:
fuente
Tiendo a ejecutar archivos afectados
fromdos
antes de volver a abrirlos.fromdos
es parte del paquete tofrodos .fuente
El origen del problema puede haber sido a través de una transferencia FTP. Cuando envíe estos archivos FTP de un cuadro a otro, asegúrese de usar transferencias ASCII. Use el comando "ASC".
fuente
fuente
mcedit: shift + f2, establecer formato unix (LF), ok
fuente