Прокрутка мышью не работает в tmux так, как она работает, когда я запускаю shell без tmux (в Gnome Terminal). Кажется, tmux отправляет события прокрутки мыши, как будто я нажимаю клавиши «Вверх / Вниз». Но я хочу, чтобы он прокручивал историю вывода оболочки . Есть ли способ заставить tmux работать так?
Примечание: я знаю, как прокручивать с помощью клавиатуры (спасибо еще один вопрос здесь).
Я пробовал прокрутку мышью в двух версиях tmux:
- 0.8-5hardy1 (в Ubuntu 8.04 (Hardy Heron))
- 1.3-1 (в Ubuntu 10.10 (Maverick Meerkat))
Ответы:
Для прокрутки истории выходных данных вы должны использовать
^b
+.[
Затем вы можете использовать M + V для перехода вверх и ^ V для перехода вниз. Я не знаю, можно ли использовать реальное PgUpи PgDownхотя. Мой терминал не отправляет эти ключи в tmux. Вместо этого он прокручивает себя, а не историю Tmux.Для выхода из режима копирования нажмите ESC
Чтобы использовать мышь в этом режиме (называемом режимом копирования), нажмите
^b
+:
и введите следующее:Примечание: в tmux <2.1 опция была названа
mode-mouse
, а неmouse
Теперь, когда вы переходите в режим копирования, вы можете использовать мышь для его прокрутки. Вы можете поместить эту команду в ваш ~ / .tmux.conf, если хотите, чтобы она загружалась каждый раз, когда вы запускаете tmux.
Обновление: Начиная с tmux 1.5, эта опция заставляет колесо прокрутки автоматически переключаться в режим копирования и прокручивать обратно буфер прокрутки tmux. Больше не нужно сначала нажимать
Ctrl-B
+[
. Прокрутка вниз до приглашения также автоматически завершает режим копирования.источник
set -g mouse on
у меня работал на macOS tmux 2.1Есть некоторые изменения для Tmux 2.1
Мышь-режим был переписан. Там больше нет вариантов для:
Вместо этого есть только одна опция: «мышь», которая полностью включает поддержку мыши.
Это было бы
источник
bind
В tmux 2.3 больше нет необходимостиset -g mouse on
. Предыдущий комментарий правильный. Связка больше не нужна.Текущая версия tmux (1.5) позволяет вам просто включить опцию mode-mouse и прокручивать колесико мыши.
В моем .tmux.conf:
источник
C-A PgUp
чтобы сделать это. Вы можете связать ключ страницы прямо сtmux bind-key -n PPage copy-mode -u
. Подобный thign должен работать для shift + pageup, если вы отсоединяете его от локального терминала.Попробуйте это в вашем .tmux.conf
Взято из http://brainscraps.wikia.com/wiki/Extreme_Multitasking_with_tmux_and_PuTTY
источник
escape-time
настройкуКто-то (из источника, который я потерял) предложил добавить следующее
~.tmux.conf
:Я понятия не имею, как это работает или что делает, но теперь это позволяет мне прокручивать колесико мыши внутри сеанса tmux, не заходя в режим копирования tmux; Я просто прокручиваю колесо и БАМ! оно работает. Обратите внимание, что я использую Terminal.app, но я помню, что OP дал ответ специально для использования с
gnome-terminal
.источник
less
. Если я загружаюless
изнутриtmux
, прокрутка мышью не прокручивает файл, открытый вless
. Прокручивает весь терминал. Странно,vim
ведет себя как положено внутриtmux
с вашей настройкой.setw -g mode-mouse on
параметром, который выполняет прокрутку в режиме копирования с помощью колесика мыши.man xterm
объяснения альтернативного экрана.Tmux 2.1 представляет новые привязки мыши.
Я написал эти связки только сейчас сегодня. Он плавно связывает колесо мыши со стрелками, когда не в Vim, потому что Vim способен интерпретировать необработанные коды колеса мыши (для таких целей, как выбор окна Vim для прокрутки, в зависимости от того, над какой мышью вы надели).
Это означает, что мы, наконец, можем использовать мышь только для просмотра нескольких страниц man и всего, что принимает клавиши со стрелками. Вы можете расширять и связывать
if
логику по мере необходимости, чтобы реализовать больше логики для ваших приложений.С этой новой возможностью привязки колес можно настроить скрипт колесика мыши на любое контекстно-зависимое поведение, которое вам нравится.
источник
Gnome-терминал выполняет некоторые хитрые трюки, переводя события прокрутки мыши в клавиши со стрелками вверх и вниз в условиях ограниченной «обычной» прокрутки. Например, при просмотре какого - нибудь текста , используя
less
(это происходит , в частности , когда вы читаете человек), вы можете прокручивать содержимое , используяj
,k
, ключи и стрелок. Но также , с помощьюgnome-terminal
, вы можете сделать это с помощью прокрутки мыши, благодаря упомянутому трюку.Так что я думаю,
tmux
что некоторые «захваты» терминала точно такие жеless
- и тот же механизм вgnome-terminal
ударах: прокрутка мышью переводится в нажатия клавиш со стрелками вверх / вниз.Вы можете отключить эту функцию в настройках профиля и получать регулярную прокрутку при любых обстоятельствах. Просто пометка последнего флажка на вкладке «прокрутки»: .
источник
gnome-terminal
прекращается отправка тройного сообщения^[[A
и^[[B
при прокрутке мыши. Это лучшеtmux
(без уродства^[[A^[[A^[[A
в некоторых программах, без уродливой прокрутки истории команд), но теперьless
перестает прокручиваться при прокрутке мышью.i
персонажам)https://github.com/NHDaly/tmux-better-mouse-mode
Конфигурируемая и многофункциональная реализация управления мышью для новых tmux. настоятельно рекомендуется.
Вы, вероятно, хотите использовать
с этим также.
источник
Вы можете объединить идеи связывания из других ответов, чтобы получить довольно удовлетворительное поведение при прокрутке: работает в vim, автоматически переключается в режим копирования в терминале и выходит из него, когда вы достигаете дна, все еще позволяет вам использовать колесико мыши в man, less и journalctl.
Мой код:
Вы можете добавить другие команды, для которых требуются клавиши со стрелками для прокрутки в grep -e 'man' часть
я добавил send-keys несколько раз, поэтому один тик на колесе мыши будет прокручивать 4 строки за раз
источник
Если вы уже находитесь в сеансе tmux, вы можете запустить команду
Напоминание: для запуска команд используйте свой префикс
:
.источник