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

2

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

jhasse
fuente
1
Cambie el tamaño de su terminal para que solo muestre una línea aparte de cualquier encabezado. Luego, asegúrese de nunca abrir un archivo de línea cero.
Eroen

Respuestas:

4

Vim en realidad no te permite desplazarte más allá del final del archivo (como en, mover el cursor más allá de la última línea existente), pero te muestra algunas líneas detrás de la última, porque tiene que mostrar algo .

No se puede desactivar, lo siento. No, a menos que desee descargar las fuentes de Vim (después de todo, es de código abierto) y jugar con él. 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 alternativas a esto ... pero eso es todo lo que son: soluciones alternativas. Y ninguno de ellos funciona realmente bonito. No recomendaría ninguno de ellos.

Torre
fuente
2

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

Sip_It's_Me
fuente
0

Sin un truco bastante feo que probablemente se vea visualmente perturbador y reduzca la velocidad de Vim, no puedes hacer lo que quieras. Básicamente, tendría que configurar algo así como un autocmd para los eventos CursorMoved / CursorMovedI que intentaron detectar si se mostraba la parte inferior del archivo y, de ser así, ejecutar algunos comandos de 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 puede desplazarse más allá del final de un archivo en Vim: la última línea debe estar siempre visible.

Heptita
fuente
0

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

noremap <ScrollWheelUp> H5k
noremap <ScrollWheelDown> L5j
Sebastian Blask
fuente