Inserte el carácter de retorno de carro en vim

101

Estoy editando un marco de protocolo de red almacenado en un archivo en Unix ( \nlíneas nuevas). Necesito insertar el carácter de retorno de carro ( U+000Dtambién conocido como \r). Cuando intento pegarlo desde el portapapeles ( "+p) o escribirlo usando Ctrl+ Shift+ u- 000d, se inserta el salto de línea ( U+000A).

¿Cuál es la forma correcta de hacerlo?

Andrey Vlasovskikh
fuente
No. Supongo que su escape puede estar mal. ¿Podría proponer otra solución basada en expresiones regulares (en funcionamiento)? :)
Andrey Vlasovskikh

Respuestas:

168

Tipo: ctrl- v ctrl-m

En uso de Windows: ctrl- q ctrl-m

Ctrl- Vle dice a vi que el siguiente carácter escrito debe insertarse literalmente y ctrl- mes la pulsación de tecla para un retorno de carro.

R Samuel Klatchko
fuente
10
Gracias, esto funciona para mi. La ayuda se puede encontrar usando :help ins-special-keys.
Andrey Vlasovskikh
1
Si está utilizando la instalación predeterminada de Windows, reemplace CTRL + V por CTRL + Q, ya que CTRL + V se vuelve a asignar a 'pegar'.
Cyber ​​Oliveira
9
Después de mucho headbanging, agrego esto aquí, aunque es una vieja pregunta: para insertar un carácter CR literal de un comando: s, debe precederlo con una barra invertida o, de lo contrario, vim (7.1.314) lo convertirá al final de carácter de línea apropiado para su configuración de formato de archivo. es decir, entrar :s/.../\^V^M/g.
DerfK
6
¿Y Ctrl+Vseguido por Enter? Noto que también se inserta ^Men el texto
Braden Best
2
Tenga en cuenta que esto también funciona para ESC: primero, vaya al modo INSERT (i), luego Ctrl + V ESC, y tendrá un carácter ESC.
Christopher Schultz