ITerm2 - прокрутка меньше вывода с помощью мыши
Я просто переключился с OSX Terminal на iTerm2, и, похоже, я потерял одну функциональность.
В терминале я мог прокручивать вывод команды less
с помощью мыши, потому что я установил MouseTerm.
Однако при попытке прокрутки вывода less
в iTerm2 вместо этого перемещается панель прокрутки окна.
Как ни странно, прокрутка работает, как и ожидалось, с помощью vim
.
Как прокрутить вывод less
с помощью мыши в iTerm2?
Ответы
Ответ 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
В конце концов, я потратил много времени на это, смотря здесь и там без везения, самые простые шаги:
Ответ 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, упомянутого в других ответах, но оно также не пострадало от него.