cursor-movement – El cursor se mueve un carácter hacia atrás al salir del modo de inserción

Pregunta:

Recientemente he notado que entrar y luego salir del modo de inserción moverá el cursor un espacio a la izquierda. Este es un comportamiento predeterminado de vim, ya que todavía ocurre con vim -u NONE -U NONE -N . Encontré esta respuesta y stackoverflow, pero realmente no explica por qué este es el comportamiento predeterminado. ¿Por qué es este comportamiento predeterminado? ¿Debería usar una solución alternativa como sugiere su respuesta?

Si tuviera que usar una solución alternativa, se vería así:

inoremap <Esc> <Esc>l

Además, intenté set virtualedit=onemore pero eso parece hacer lo que dice en su página de ayuda y nada más.

Respuesta:

Primero debe comprender que el cursor está entre caracteres en el modo de inserción y en un carácter en el modo normal. Esto significa que cuando sale del modo de inserción, el cursor debe moverse sobre un carácter. (Esto es más notable en gvim o MacVim, donde el cursor del modo de inserción predeterminado es una tubería en lugar de un bloque)

Si ingresa al modo de inserción con a , al presionar <esc> , el cursor volverá exactamente a donde estaba. Cuando vim sale del modo de inserción, necesita mover el cursor hacia algún carácter. Sin embargo, dado que agregar es indistinguible de insertar, se eligió uno de ellos por defecto. En este caso se eligió moverse a la izquierda.

Si cambiaste el valor predeterminado para que <esc> fuera al carácter de la derecha, la gente se quejaría de que a<esc> estaba moviendo el cursor hacia la derecha.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım