No sin hackear el código fuente de less. Un poco de historia de fondo:
Less no puede manejar el mouse (incluidos los eventos de desplazamiento) en absoluto.
Los emuladores de terminal admiten una llamada pantalla alternativa. Esto es a lo que la mayoría de las aplicaciones de pantalla completa cambian durante su duración (y vuelven a la pantalla normal cuando se cierran, lo que hace que los contenidos anteriores se "restauren"), y no tiene un búfer de desplazamiento hacia atrás. Menos también cambia a esta pantalla alternativa, a menos que -X
se indique, en cuyo caso no es así.
Muchos emuladores de terminal descubrieron que cuando está en modo de pantalla alternativa y la aplicación que se ejecuta en el interior no está interesada en los eventos del mouse, tiene sentido convertir el desplazamiento en eventos de pulsación de tecla Arriba o Abajo. Es un truco, y sería dañino ya sea en la pantalla normal (imagine lo que sucedería, por ejemplo, en el indicador de comandos de su shell) o cuando la aplicación desee manejar el mouse (claro, entonces tienen que ver los eventos reales del mouse). Pero dado que ninguno de estos dos se mantiene de manera predeterminada cuando se está ejecutando less
, este truco se activa (sujeto al emulador de terminal que lo admite y se habilita a través de \e[?1007h
vs.\e[?1007l
) El emulador de terminal convierte sus eventos de desplazamiento en pulsaciones de teclas Arriba y Abajo, y menos no puede distinguirlos de las pulsaciones de teclas reales. No recibe eventos de desplazamiento del mouse: ve pulsaciones de teclas arriba y abajo.
Así que ahí está: puede cambiar a una pantalla alternativa y el hack de la terminal convierte los eventos de desplazamiento en pulsaciones de teclas por menos tiempo, y la pantalla normal se restablece al salir; o no, y entonces no puede haber ningún evento mágico de conversión de desplazamiento en pulsaciones de teclas y menos no comprende los eventos de desplazamiento.
Entonces, ¿qué se puede hacer? Bueno, implemente el soporte del mouse en menos y deje que maneje los eventos de desplazamiento (y viva con un clic no predeterminado o un comportamiento de copiar y pegar), o implemente otro truco extraño: al salir, después de volver a la pantalla normal, less
podría por última vez imprima una pantalla llena de contenido, repitiendo lo que se mostró antes de salir.
En la práctica, básicamente se reduce a: lo siento, olvídalo.