Estoy usando gVim en Windows. Mi código muestra ^M
caracteres al final de las líneas. Solía :set ff=dos
en vano. Los ^M
caracteres permanecen para las líneas existentes, pero no aparecen para las líneas nuevas que ingrese. Cambié de modo a mac (muestra ^J
caracteres) y unix (también muestra ^M
caracteres) y volví a dos. ¿Alguien más ha visto esto?
vim
carriage-return
line-endings
Jerph
fuente
fuente
Respuestas:
Esto sucede cuando tiene una mezcla de finales de línea de Windows y de Unix. Si tiene 100 líneas, 99 son \ r \ ny una es \ n, verá 99 ^ M caracteres. La solución es encontrar esa línea y reemplazarla. O ejecute dos2unix en el archivo. Puede reemplazar los finales de línea de Windows con:
:%s/\r\(\n\)/\1/g
fuente
:%s/^M//
:set ff=dos
si quiere que sea dos cuando haya terminado, ala respuesta de Evan.También puedes ejecutar:
Para eliminar
^M
: Ver formato de archivo - Vim Tips Wiki .fuente
Por lo general, uso lo siguiente para limpiar mis finales de línea:
Para obtener el ctrl-M, generalmente escribo ctrl-Q, luego ctrl-M y lo coloca. (En algunos entornos puede ser ctrl-V y luego ctrl-M.) No sé por qué, pero encuentro que uno más fácil de recordar que el de rq .
No olvide hacerlo
:set ff=dos
también, o terminará ahorrando aún con los finales de línea de UNIX.fuente
Sé que esto ya ha sido respondido, pero un truco que utilizo es
Esto reemplaza los retornos de carro de Unix con el CRLF de Windows. Solo se agregó en caso de que alguien más tuviera problemas.
fuente
¡Puedes ignorar estos caracteres!
pon esto en tu vimrc
fuente
En realidad, lo que funcionó para mí (en Windows de 64 bits, gVIM: 7.2) fue:
no solo: ff
fuente
Ejecutando Vim 7.3 en Windows 7. Usé el siguiente comando:
Para crear el ^ MI escribe CTRL + Q y luego CTRL + M.
fuente
Probablemente esto sea un poco simple para muchos de ustedes, pero en la remota posibilidad de que sea útil.
Según la respuesta de richq, encontré que estos son útiles en mi vimrc. Tenga en cuenta que el segundo se comenta normalmente porque hace que dd sea un poco confuso, ya que Vim esperará a que otra pulsación de tecla funcione si es el comando ex mapeado.
El primero se ejecuta escribiendo
call D2u()
en ex y el segundo presionandoD2u
en modo de edición.fuente
Estos son finales de línea CR adicionales generalmente debido al uso de un archivo en sistemas UNIX / DOS mixtos.
Posiblemente, la respuesta más corta para eliminar un solo ^ M del final de cada línea, y lo que uso, es:
que es equivalente a:
pero las barras diagonales finales no son necesarias (se asumen).
fuente
intenté muchas cosas, pero lo siguiente funcionó
nota: use g si desea el efecto en todo el archivo
fuente