Подтвердить что ты не робот

ITerm2 - прокрутка меньше вывода с помощью мыши

Я просто переключился с OSX Terminal на iTerm2, и, похоже, я потерял одну функциональность. В терминале я мог прокручивать вывод команды less с помощью мыши, потому что я установил MouseTerm.

Однако при попытке прокрутки вывода less в iTerm2 вместо этого перемещается панель прокрутки окна. Как ни странно, прокрутка работает, как и ожидалось, с помощью vim.

Как прокрутить вывод less с помощью мыши в iTerm2?

4b9b3361

Ответ 1

Проблема iTerm2 теперь помечена как "исправленная", но исправление заключается в добавлении скрытой опции, поэтому не сразу понятно, как включить новую опцию AlternateMouseScroll.

Как Filippo Valsorda (автор патча) пишет, как только вы установите ночную сборку ( по- прежнему отсутствует в 1.0.0.20140629) из iTerm2, просто запустите следующую команду:

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true

перезапустите iTerm2, и все ваши окна будут сообщать о событиях прокрутки, когда стрелка вверх/вниз уходит, когда терминал находится в режиме "альтернативного экрана" (прямой адресации), используемом такими программами, как less, vim, emacs, и так далее.

Для таких приложений, как vim и emacs, которые предоставляют дополнительную поддержку мыши, вы все равно захотите включить режим отчетов мыши, поскольку этот автоматический переключатель режимов включает только прокрутку.

Ответ 2

Теперь он реализован в iTerm2 и может быть активирован с помощью

НастройкиДополнительноКолесо прокрутки отправляет клавиши со стрелками в режиме альтернативного экрана и изменяет его на Да

image of "Scroll wheel sends arrow keys when in alternate screen mode" setting

(defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true все еще работает, но он просто меняет ту же настройку)

Ответ 3

В конце концов, я потратил много времени на это, смотря здесь и там без везения, самые простые шаги:

  • Установите бета-версию 2.9

  • Готово

Ответ 4

Это не реализовано на данный момент.

В системе отслеживания проблем iTerm 2 есть открытая проблема по ее реализации.

Ответ 5

Не вопрос OP, но для всех, кто пытается заставить это работать в tmux, с благодарностью choco через этот комментарий github здесь фрагмент, который можно добавить в ваш tmux.conf, чтобы он правильно обрабатывал альтернативные экраны (например, less, vim):

# Check if copy-mode or any mouse flags, then send mouse events
# or check if we're in alternate screen end send navigation keys (up, down)

bind -n WheelUpPane if-shell -Ft='#{?pane_in_mode,1,#{mouse_any_flag}}' \
        'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
        "send -t= Up" "copy-mode -et= ; send -Mt="'
bind -n WheelDownPane if-shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \
        'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
        "send -t= Down" "send -Mt="'

Обратите внимание, что это не требует изменения Iterm, упомянутого в других ответах, но оно также не пострадало от него.