Problemas de desplazamiento cuando se establece la opción `wrap '

10

Me encuentro lidiando con este problema cada vez que la wrapopción está activa (en mi caso particular cada vez que estoy trabajando con archivos de rebajas).

Lo que sucede es que, mientras se desplaza hacia arriba y hacia abajo el búfer con jy k, las líneas de texto envueltas (formando visualmente un párrafo) en la parte superior e inferior no se desplazan suavemente (es decir, una por una) fuera de la pantalla. En cambio, párrafos enteros desaparecen y reaparecen abruptamente a la vista, lo que genera un efecto desorientador y molesto.

Creo que un GIF explicará mejor lo que sucede. Aquí, solo presiono krepetidamente para desplazarme hacia arriba. ¡Esté atento al párrafo cerca de la parte inferior!

ugh

Me acostumbré a este comportamiento porque no pensé que fuera reparable, pero luego me di cuenta de que eso no sucede con las líneas físicas y sin wrapajustar.

¿Hay alguna manera de decirle a Vim que se desplace fuera de la pantalla por líneas visuales en lugar de las físicas?

ps: Sí, he mapeado mi jy kpara gjy gk.

zool
fuente
Esto podría ayudarlo: vi.stackexchange.com/questions/11315/…
stackzebra

Respuestas:

5

Ese es un problema, que a menudo se ha solicitado pero nunca se ha implementado. Entonces no, no hay posibilidad de un desplazamiento mejor y más suave, una vez que las líneas se ajustan.

Christian Brabandt
fuente
¿Puede proporcionar un enlace a donde se ha discutido este problema? Me gustaría saber más
zool
1
aquí o aquí
Christian Brabandt
2

Creo que estás buscando:

set display=lastline

Ver :help 'display'.

romainl
fuente
Eso funcionó un poco, pero todavía no obtengo el desplazamiento suave, línea por línea que obtengo cuando no wrapestá configurado. El comportamiento ahora parece realmente inconsistente: desplazamiento más gradual (pero aún no línea por línea) al subir, y aparición abrupta de párrafos al bajar (ver GIF ).
zool
Lástima, porque leer la página de ayuda que realmente se parecía a mi opción.
zool
2
Según :help 'scrolljump'creo, el salto mínimo que puedes obtener es una línea cuando el cursor se mueve fuera de la pantalla. Pero con el wrapconjunto como en su caso, una línea puede ocupar varias líneas de pantalla.
Vitor