vim - retorno - ver saltos de linea notepad++
SustituciĆ³n del retorno de carro ^ M con Entrar (5)
En la sesión de vim prueba:
:%s/^M//g
Donde ^M
se logra ctrl+V+M
juntos.
Sé cómo eliminar ^M
en mis archivos ( %s/^M//g
), pero esta es solo una línea que me gustaría reemplazar ^M
con enter ... ¿cuál es el carácter enter en VIM (para usar en modo de línea de comunicación).
Para reemplazar el carácter de retorno de carro (que es <Cm>
) con el carácter de avance de línea (que es el carácter de salto de línea de Unix), debe ejecutar un comando un poco extraño:
%s//r//r/g
Parece que no está haciendo nada, pero en expresiones regulares y cadenas de doble comillas, los retornos de carro se representan usando /r
líneas de alimentación con /n
, mientras que en la parte de reemplazo de: s comando y función de sustitución () significan lo contrario .
Tenga en cuenta que en la terminal Enter produce <Cm>
, por lo que su solicitud inicial no es válida.
Puede reemplazar un caracter usando r<CR>
en modo normal.
O puede ingresar un "retorno" en el modo de línea de comando escribiendo <Cv><CR>
.
Similar a @ZyX y @anubhava, pero asumiendo que simplemente estás tratando de eliminar los molestos retornos de carro de un archivo de Windows, lo siguiente será suficiente:
:%s//r//g
:%s//r//g
solo funciona cuando:
set ff=unix
, que cuando se hace, convierte automáticamente todos losCRLF
aLF
set ff=dos
yCR
es un personaje deshonesto que no está precedido por LF, por ejemplo, insertado conCV CM
.CR en LF CR pares no serán encontrados.
Por lo tanto, si todo lo que desea es convertir cada LF CR
a LF
, debe usar:
:set ff=unix
:w