Estoy usando Vim en una terminal, por lo que al desplazarme con la rueda de desplazamiento se usa la sintaxis \e[A
y \e[B
(donde \e
simboliza \x1b
o escapa).
Sin embargo, Vim interpreta esto moviendo el cursor hacia arriba o hacia abajo de una línea. El comportamiento deseado es que la pantalla se mueve hacia arriba o hacia abajo, como <C-e>
y <C-y>
hacer.
¿Cómo puedo decirle a Vim que mueva la pantalla cuando utilicé mi rueda de desplazamiento, mientras mantengo el cursor en la misma línea? Esto debería funcionar en todos los modos comunes (inserción, normal, selección visual).
Ya he intentado, por ejemplo, :nnoremap <esc>[A <C-e>
(reemplazar <esc>
con un carácter de escape literal insertado con Ctrl+V Esc), pero resultó ser inútil.
Estoy usando Vim 7.4.52 en Ubuntu 14.04 con GNOME.
Respuestas:
Como @Doorknob dijo en su comentario,
:set mouse=a
soluciona el problema.fuente
mouse=a
? No quiero que los clics accidentales estropeen mi flujo de edición.a
enmouse=a
significaall
(no añadir). from:help mouse
: "el mouse se puede habilitar para diferentes modos ... Normalmente, se habilitaría el mouse en los cuatro modos con:: set mouse = a" al menos en mi vim cuando habilité que no se estropeó con el cambio de modo (solo habilitado el desplazamiento - y "haga clic para ir a la línea")set mouse=a
sin clics accidentales desordenar el flujo,:map <LeftMouse> <nop>
sería el truco.El comportamiento que quieres es lo que sucede en mi vim. No puedo encontrar una configuración que lo active / desactive. Tal vez verifique el : ayuda para desplazarse ?
scrolloff
podría estar involucradoTambién podría considerar usar marcas como una solución alternativa.
fuente
vim -u NONE
). Este es Vim 7.4 en Ubuntu 14.04 con GNOME..vimrc
(soloset mouse=a
).:help scrolling
dice que el comportamiento de desplazamiento es específico de la plataforma. Estoy usando vim en iterm2 en OSX.:set mouse=a
me ha solucionado el problema. Edite eso en su respuesta, y lo aceptaré. ¡Gracias!