Estoy leyendo el libro "learning vi editor" (linda lamb & arnold robbins sexta edición). Página 115, el libro tiene un comando como este:
:map ^J xyz
La parte xyz en sí no importa aquí, mi problema es hacer la ^J
parte.
He intentado ctrl+ V ctrl+ j( ctrl+ vse puede usar para escapar de Enter, por ejemplo) y ctrl+ jdirectamente
En ambos casos no funciona.
Estoy usando el editor vi dentro de FreeBSD 11.0, no es el vim (vi mejorado).
----- Editar -----
Vídeo:
00:05 - mapee ctrl + K para hacer dd (borrar toda la línea)
00:19 - intenta hacer lo mismo con ctrl + J, pero no funciona porque ctrl + J activa una tabla.
00:25 - inténtalo de nuevo con ctrl + V ctrl + J. Además, no funciona, desencadenando una tabla.
00:33 - prueba el mapa exactamente "^ J"
00:44 - prueba con ctrl + J y no funciona como se esperaba. Funciona escribiendo la secuencia "^ J".
ctrl+v
ctrl+j
. ¿Has probado caret j exactamente cómo se ve?Respuestas:
Eso en realidad parece ser un error en el libro. El ejemplo es seguido por este comentario:
La inferencia habitual para
^J
es controlJ. Pero ninguno de los vi mencionados en la sexta edición permitió insertar un control literal / J en el texto porque ese es el final de línea para sistemas tipo Unix (vim le dará un^@
carácter nulo cuando intente escapar del control / J, los otros editores ignoran eso). Un " " literal^J
no funciona con el comentario, porque esos caracteres no son un comando vi .Puede hacer que el " " literal
^J
funcione, por supuesto. Pero ese no era el punto del ejemplo. Probablemente el autor pretendía algún otro personaje interesante y lo cambió por cualquier razón.fuente