
Si intento abrir un archivo con less
, su contenido comienza desde la posición del cursor, no desde la parte superior de la pantalla.
.
Esto sucede sólo en gnome-terminal, por ejemplo en Terminator todo está bien. ¿Cómo puedo arreglarlo?
Respuesta1
Como mencionó egmont, less
debería poder posicionar el cursor y, de hecho, existe una manera de hacerlo. Según la less
página de manual:
Las opciones también se toman de la variable de entorno "MENOS". Por ejemplo, para evitar escribir "menos opciones ..." cada vez que se invoca menos, puede decirle a csh:
setenv MENOS "-opciones"
o si usas sh:
MENOS="-opciones"; exportar MENOS
Entonces, para poder volver less
a dibujar la pantalla con el cursor colocado en la parte superior, haga
echo 'LESS="-c"; export LESS' >> ~/.bashrc
-c
La opción, que significa "borrar pantalla", se agregará a cada less
automáticamente e incluso funcionará en TTY, limpiando la pantalla y reposicionando el cursor.
Respuesta2
gnome-terminal
y terminator
ambos dependen del vte
widget para la emulación de terminal, aunque terminator
utilizan uno antiguo (basado en gtk2). Más precisamente, terminator
usa vte
la versión 0.28.2 (tanto en Ubuntu 14.04 como 16.06), mientras que gnome-terminal
usa vte
la versión 0.34.9 en Ubuntu 14.04 y 0.42.5 en Ubuntu 16.04.
Como ocurre con la mayoría del software, las versiones más nuevas deberían ser más estables, ricas en funciones y contener menos errores (aunque es posible que de vez en cuando aparezcan nuevos errores, regresiones, cambios que a la gente no le guste, etc.). vte
Recibió una gran cantidad de cambios (correcciones) en los últimos 3 años, incluido este.
vte
pretende utilizar xterm
como referencia para el comportamiento de emulación (a menos que vea una buena razón para divergir, lo que ocurre muy raramente). En este caso, no vimos ninguna razón para divergir (y probablemente teníamos un informe de error válido sobre vte
no funcionar como se esperaba con la posición del cursor al cambiar a la pantalla alternativa), por lo que lo arreglamos vte
para comportarnos como xterm
.
En otras palabras, Ubuntu 14.04 gnome-terminal
y tanto 14.04 como 16.04 terminator
estaban rotos, asumiendo que aceptamos que el comportamiento correcto está definido por xterm
. terminator
está muy atrasado con vte
la versión y recibirá esta solución (junto con muchas otras) cuando finalmente lancen una versión basada en gtk3.
Entiendo que no te gusta el nuevo comportamiento de less
(en realidad, a mí tampoco me gusta y prefiero la forma en que funcionó accidentalmente con el anterior vte
), sin embargo, sería un enfoque absolutamente incorrecto romper intencionalmente vte
para lograr el comportamiento anterior. . En su lugar, less
debería poder colocar el cursor en la parte superior de la pantalla. Si el comportamiento actual realmente le molesta, le recomiendo que presente un informe de error/solicitud de función contra less
.