A veces, al ingresar un comando en modo normal, puede hacer un error tipográfico, por ejemplo, si tengo la intención de escribir 10dk
, puedo comenzar a escribir accidentalmente 19d
.
Dado que el comando aún no se ha completado / confirmado, ¿es posible eliminar las teclas incorrectas usando la tecla de retroceso, como tal: en 19d<backspace><backspace>0dk
lugar de tener que presionar escape y volver a intentar el comando?
Pregunta secundaria: ¿Hay un término Vim para la estructura de datos que contiene el comando actual antes de que se confirme?
vimrc
normal-mode
command-history
HellaMad
fuente
fuente
Respuestas:
No hay forma de hacerlo y es normal que no lo haya: los comandos de modo normal generalmente son bastante cortos y pueden cancelarse Escsi lo estropea.
Una posible solución sería usar el
:normal
comando. Hace que el proceso sea más largo pero, por ejemplo, si escribe:normal 10j
en la línea de comando, Vim se ejecutará10j
como si lo hubiera escrito en modo normal. (Ver:h :normal
)También puede agregar estas líneas a su
.vimrc
:Crean un mapeo (aquí F4pero usan lo que quieran) que llamará a la función
NormalModeCommand()
.La función le permite escribir una cadena en la línea de comando y luego ejecutar la cadena que escribió como comando de modo normal. A medida que escribe la cadena en la línea de comando, puede corregirla como cualquier otro comando. Por supuesto, no es ideal, pero una vez más, Vim no está destinado a hacer eso.
fuente