No dejes que vim se desplace por debajo de la línea inferior

No dejes que vim se desplace por debajo de la línea inferior

¿Cómo puedo desactivar que vim me permita desplazarme más allá del final de un archivo?

Respuesta1

Empujeen realidad no te dejaDesplazarsemás allá del final del archivo (como en, mueva el cursor más allá de la última línea existente), peromuestraestás unas líneas detrás de la última, porque tiene queMuestrame algo.

No se puede desactivar, lo siento.No, a menos que desees descargar las fuentes de Vim (después de todo, es de código abierto) yviolíncon eso. Inserta de forma nativa ~ en filas que no existen, porque, bueno, tiene que mostrar algo. Todos los editores hacen eso.

Como alguien sugirió, existen soluciones para esto... pero eso es todo: soluciones. Y ninguno de ellos funciona realmente bonito. No recomendaría ninguno de ellos.

Respuesta2

Una vez que llegue al final del archivo, puede usar zzo ztpara mover la línea actual al medio o a la parte superior de la ventana respectivamente. Puede hacer esto en cualquier momento, independientemente de la ubicación del archivo. La scrolloffconfiguración hará que el cursor permanezca, por ejemplo, a 5 líneas de la parte superior o inferior de la ventana si lo tiene configurado en 5 ( set scrolloff=5). Sin embargo, esto no funciona cuando llegas al principio o al final del archivo.

Respuesta3

Sin un truco bastante feo que probablemente parezca visualmente perturbador y ralentice a Vim, no puedes hacer lo que quieres. Básicamente, tendría que configurar algo como un autocmd para los eventos CursorMoved/CursorMovedI que intentaron detectar si se muestra la parte inferior del archivo y, de ser así, ejecutar algunos comandos del modo normal para forzar la posición de desplazamiento.

Vale la pena señalar (y como dicen las personas en el enlace que Johnny proporcionó en su comentario), Vim no es la única aplicación que se comporta así, y realmente no puedes desplazarte más allá del final de un archivo en Vim: la última línea. siempre debe estar visible.

Respuesta4

Si no te importa que mueva el cursor, esto funciona:

noremap <ScrollWheelUp> H5k
noremap <ScrollWheelDown> L5j

información relacionada