¿Cómo hago para que Vim siempre muestre varias líneas después de EOF?

15

En Vim, no me gusta cómo cuando llegas al final del archivo pone la última línea en la parte inferior de la pantalla.

¿Hay alguna forma de hacer que la última línea sea algo así como 10 líneas sobre la parte inferior de la pantalla y simplemente hacer líneas en blanco debajo de ella?

Miguel Vera
fuente
2
Cuando su cursor llegue a la última línea del archivo, si lo golpea zz, volverá a dibujar la pantalla y colocará la línea actual en el centro de la ventana que debería mostrar algunas ~líneas después de EOF.
user9433424
sí, pero si mueve el cursor nuevamente colocándolo nuevamente en la parte inferior.
Miguel Vera
3
Parece que tienes la scrolloffopción establecida. Intenta :set scrolloff=0y ese comportamiento debería cambiar.
Tumbler41
1
Puede leer su respuesta aquí: stackoverflow.com/questions/7406814/... Hay más respuestas a esto, básicamente no es posible, solo con soluciones alternativas.
Mike
De hecho, el comportamiento ha sido corregido! gracias
Miguel Vera

Respuestas:

16

Puede usar ctrlEpara desplazarse hacia abajo en su archivo, cuando esté al final del archivo agregará una línea "virtual" para que la última línea del archivo no esté en la parte inferior de las ventanas.

Además, puede usar la opción scrolloffpara dejar siempre algunas líneas después del cursor, agregue esto a su .vimrc:

set scrolloff=10

Para más detalles ver :h 'scrolloff'y :h CTRL-E.

statox
fuente
1
Desafortunadamente, la configuración scrolloffa 10 aún no mostrará líneas DESPUÉS DE EOF como OP quería.
Tumbler41
De hecho, eso es por lo que sugirió usar CTRL-Ey scrolloffera sólo "adicional". Ahora es una solución parcial, OP es libre de no aceptarlo ya que no responde completamente la pregunta.
statox
1
Aunque es solo una solución parcial, creo que CTRL-Ees lo que estaba buscando. Sin embargo, me encantaría si hubiera una manera de mostrar las líneas después de EOF automáticamente.
Miguel Vera
@Miguel, me alegro de que se ajuste a tus necesidades. Creo que podría ser posible crear un mapeo que llamaría <C-e>cuando te desplazas hacia abajo, pero realmente no estoy seguro de que funcione correctamente ... Trataré de ver qué es posible hacer, pero no estoy seguro de que ' Podrá crear algo conveniente.
statox