Меньше, кажется, больше не принимает прокрутки мыши в терминале в macOS

479
Sheharyar

В течение нескольких лет Terminal.app в macOS поддерживал прокрутку мыши с помощью lessпрограммы, но сегодня я заметил, что он больше не принимает прокрутки мыши, а теперь работает только с клавишами Upи Down. Моя установленная версия lessчерез macOS - версия 487.


Что не работает:

lessи все другие программы, которые используют его, не принимают прокрутки мыши. Вместо этого он прокручивает окно терминала. Эти «другие» программы:

  • man
  • git log
  • diff

Раньше lessтакже очищал экран при закрытии ( q), но теперь текст остается на экране.


Что я пробовал:

  • Протестировал другие программы: vim например, по-прежнему принимает прокрутки мыши
  • Используемые другие терминальные эмуляторы: less не принимают свитки мыши на Hyperлюбом
  • Протестировано на другом компьютере через SSH: подключено к одному из моих VPS и использовано lessтам в приложении Terminal. Мышь-свитки работают с этим.
  • Использовал более новую версию less: установил последнюю версию (530) less с использованием Homebrew, но он также не работает со свитками мыши.

Так что я не уверен, что не так. Буду очень признателен за любую помощь, чтобы lessснова принять прокрутки мыши.

5

1 ответ на вопрос

5
Sheharyar

Пройдя несколько других ответов, я понял, что есть $LESSпеременная окружения, которая содержит флаги по умолчанию.

На моем другом компьютере Mac и Ubuntu он пуст, но по какой-то причине он равен -FRXна этом компьютере, и это вызывает следующие проблемы :

  • -Xзаставил его НЕ принимать свитки мыши
  • -F вызвал его автоматический выход для небольших файлов

Что странно, так как я никогда не менял его, так что, должно быть, он был изменен какой-то другой программой. В любом случае, ручная установка в моих .rcфайлах исправила проблему:

export LESS="-R" 

Источники:

Отличная детективная работа над этим! JakeGould 5 лет назад 1
См. Также https://superuser.com/q/961719/278816, чтобы уточнить, что `less` вообще не может обрабатывать мышь, опция` -X` просто косвенно приводит к тому, что события мыши не обрабатываются (эмулятором терминала и не меньше), как и следовало ожидать. egmont 5 лет назад 2