4 votos

El scroll del ratón ha dejado de funcionar con Less en Terminal

Desde hace unos años, Terminal.app en MacOS ha soportado el desplazamiento del ratón con la función less pero hoy me he dado cuenta de que ya no acepta los desplazamientos del ratón y sólo funciona con la tecla Up y Down llaves ahora.


Lo que no funciona:

less y todos los demás programas que lo utilizan no aceptan los desplazamientos del ratón. En su lugar, desplazan la ventana del terminal. Estos 'otros' programas son:

  • man
  • git log
  • diff

Anteriormente, less también borraría la pantalla al cerrarla ( q ), pero ahora el texto permanece en la pantalla.


Lo que he probado:

  • Probado otros programas: vim por ejemplo, sigue aceptando desplazamientos del ratón
  • Utilizado otros emuladores de Terminal: less no acepta desplazamientos del ratón en Hyper o bien
  • Probado en otra máquina a través de SSH: Conectado a uno de mis VPS, y utilizado less dentro de la aplicación Terminal. El desplazamiento del ratón funciona.
  • Utilizó una versión más reciente de menos: Instalada la última versión (530) de less utilizando Elaboración casera pero tampoco funciona con el desplazamiento del ratón.

Así que no estoy seguro de lo que está mal. Agradecería enormemente cualquier ayuda para hacer less acepta que el ratón se desplace de nuevo.

4voto

Sheharyar Puntos 1003

Después de revisar algunas otras respuestas, me he dado cuenta de que hay un $LESS que contiene banderas por defecto.

Está vacío en mi otro sistema Mac y Ubuntu, pero por alguna razón es igual a -FRX en esta máquina, y que está causando estos problemas :

  • -X hizo que NO aceptar desplazamientos del ratón
  • -F provocaba la salida automática de los archivos pequeños

Lo cual es raro, ya que nunca lo cambié, así que debe haber sido modificado por algún otro programa. De todos modos, la configuración manual en mi .rc se ha solucionado el problema:

export LESS="-R"

Fuentes:

1 votos

Tienes mis respetos. Una pregunta - ¿cómo determinó, que $LESS tenía el valor de -FRX en tu ordenador. Corrí echo $LESS y mostró el valor correcto de -R . No obstante, añadí export LESS="-R" a .zshrc y esto funcionó.

2voto

Selrond Puntos 121

Si utiliza less en git (a través de git log o similar):

git-config docs tienen la respuesta:

Cuando el LESS no está definida, Git la define como FRX (si LESS Git no la cambia en absoluto). Si quieres anular selectivamente la configuración por defecto de Git para LESS puede establecer core.pager por ejemplo less -S . Esto será pasado al shell por Git, que traducirá el comando final a LESS=FRX less -S . El entorno no establece el S pero la línea de comandos sí lo hace, indicando a less que trunque las líneas largas. Del mismo modo, si se define la opción core.pager a less -+F desactivará el F especificada por el entorno desde la línea de comandos, desactivando el comportamiento "salir si una pantalla" de less .

(el subrayado es mío)

TLDR:

  • git es el que establece $LESS a la variable de entorno FRX si está vacío
  • desplazamiento en less no funciona con X opción establecida
  • desactivar el valor por defecto X con git config --global --add core.pager "less -+X"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X