Как прокручивать в tmux?

Я только начал использовать tmux, и мне это очень нравится, но мне нужно прокручивать в буферах /стеклах /окнах, которые я открывал. Мне все равно, работает ли это с помощью мыши или нет. Когда я просматриваю страницу man tmux, я нахожу только два экземпляра слова «прокрутка», даже отображающиеся, и оба имеют отношение к режиму копирования. Есть ли способ прокрутки без всех накладных расходов при входе в режим копирования?

1046 голосов | спросил chadoh 10 32010vEurope/Moscow11bEurope/MoscowWed, 10 Nov 2010 21:40:45 +0300 2010, 21:40:45

11 ответов


1278

Ctrl - b , затем [, тогда вы можете использовать обычные навигационные клавиши для прокрутки (например. Стрелка вверх или PgDn ). Нажмите q , чтобы выйти из режима прокрутки.

В качестве альтернативы вы можете нажать Ctrl - b PgUp , чтобы перейти непосредственно в режим копирования и прокрутить одну страницу вверх (что и звучит вы захотите большую часть времени)

В режиме vi (см. ниже) вы также можете прокручивать страницу вверх /вниз по строкам с помощью Shift - k и Shift - j (если вы уже находитесь в режиме прокрутки). Unshifted, курсор перемещается вместо страницы.

Выдержки из страницы руководства :

  

tmux можно управлять с подключенного клиента, используя комбинацию клавиш префиксного ключа «Ctrl-B» по умолчанию, а затем клавишу команды.

 The default command key bindings are:

[           Enter copy mode to copy text or view the history.

Function                     vi              emacs
--------                     --              -----
Half page down               C-d             M-Down
Half page up                 C-u             M-Up
Next page                    C-f             Page down
Previous page                C-b             Page up
Scroll down                  C-Down or C-e   C-Down
Scroll up                    C-Up or C-y     C-Up
Search again                 n               n
Search again in reverse      N               N
Search backward              ?               C-r
Search forward               /               C-s

Плюс еще больше. Обратите внимание, что вам нужно дважды нажать C-b, если вы используете это для страницы, так как C-b привязан как командный ключ. См. Справочную страницу для информации о предваряющей команде режима копирования с количеством повторений.

Вы можете установить режим привязки ключей, используя Ctrl - b , затем

:set-window-option mode-keys emacs

или vi.

ответил Dennis Williamson 11 42010vEurope/Moscow11bEurope/MoscowThu, 11 Nov 2010 06:02:16 +0300 2010, 06:02:16
235

Ну, вы должны рассмотреть правильный способ установки прокрутки: добавьте в свой tmux.conf

set -g mouse on        #For tmux version 2.1 and up

или

set -g mode-mouse on   #For tmux versions < 2.1

Это работало для меня в окнах и панелях. Теперь tmux просто идеально.

Практическое tmux содержит дополнительную информацию о файлах tmux.conf.

ответил chaiyachaiya 25 72012vEurope/Moscow11bEurope/MoscowSun, 25 Nov 2012 17:05:29 +0400 2012, 17:05:29
124

Из моего .tmux.conf:

# Sane scrolling
set -g terminal-overrides 'xterm*:[email protected]:[email protected]'

Это позволяет выполнять прокрутку по xterm.

ответил togdon 23 AM000000120000004031 2011, 00:49:40
39

Для новейшего tmux 2.1 для прокрутки с помощью мыши разумно, это правильный ответ:

set -g mouse on
" sane scrolling:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"

недостаточно перезагрузить ваш .tmux.conf, вам нужно перезапустить tmux, например. tmux kill-server && tmux

взято из https://github.com/tmux/tmux/issues/145

ответил Flov 1 TueEurope/Moscow2015-12-01T19:09:27+03:00Europe/Moscow12bEurope/MoscowTue, 01 Dec 2015 19:09:27 +0300 2015, 19:09:27
11

В моем случае, просто opt + UpArrow и opt + DownArrow в OSX.

ответил Yth 17 AMpFri, 17 Apr 2015 06:43:47 +030043Friday 2015, 06:43:47
10

Именно так я сделал это, и причины, по которым я думаю, что это лучше, чем по умолчанию.

Чтобы попробовать, поместите все разделы кода в ~/.tmux.conf.

Шаг 1. Измените ключ префикса, чтобы вам не приходилось достигать одного бита. «B», по-видимому, является близким ключом, но он находится в середине двух указательных пальцев (соответственно «F» и «J»). Поскольку этот ярлык имеет важное значение в tmux, C-j намного лучше, поскольку он включает в себя движение нулевой руки (кроме нажатия клавиши).

set -g prefix C-j
unbind C-b
bind C-j send-prefix

Шаг 2. «S» (для входа в режим копирования): 1) закрыть (по той же причине, что и выше), 2) включает другую руку (сравните: 1-2 в боксе или ls для просмотра файлов в каталоге), а 3) можно считать мнемоническим для «прокрутки» (хотя режим копирования - это не просто прокрутка).

bind s copy-mode

Шаг 3. Последняя часть, фактическая прокрутка. «P» и «N» знакомы с этой целью для пользователей Emacs. Они близки, интуитивны («P» выше «N» на клавиатуре) и мнемонические («предыдущие» и «следующие»). Если вы только что прокрутили в Emacs, а затем перейдите в tmux, имеет смысл иметь эти ярлыки.

Однако я обнаружил, что «I» и «K» еще лучше - они еще ближе, чем «P» и «N», и интуитивно понятны (по той же причине); как для мнемоники - так как прокрутка - такая обычная вещь, мнемоника не имеет большого значения, так как скоростные клавиши скоро обходят ваш мозг и войдут в мышечную память.

bind -t emacs-copy 'p' scroll-up
bind -t emacs-copy 'n' scroll-down
bind -t emacs-copy 'i' scroll-up
bind -t emacs-copy 'k' scroll-down
ответил Emanuel Berg 21 J0000006Europe/Moscow 2013, 19:33:39
6

Я много искал для этого, и лучшее решение для меня работает, как указано в этом подробном руководстве: http://tangledhelix.com/blog/2012/07/16 /tmux-мышка режим /

Добавьте эти привязки в ~ /.tmux.conf:

set -g mode-mouse on

unbind +
bind + \
  new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
  swap-pane -s tmux-zoom.0 \;\
  select-window -t tmux-zoom

unbind -
bind - \
  last-window \;\
  swap-pane -s tmux-zoom.0 \;\
  kill-window -t tmux-zoom

Используя реализованный выше подход, вы можете также скопировать из панелей в окно с помощью масштабирования в каждую панель с помощью Префикс + .

Одна важная деталь, отсутствующая в режиме мыши, - это нажать Сдвиг , прежде чем выбирать область для копирования. Это скопирует его в традиционный буфер терминала вместо буфера копирования tmux. ( https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues)

ответил muneeb 31 MaramThu, 31 Mar 2016 03:42:33 +03002016-03-31T03:42:33+03:0003 2016, 03:42:33
4

Я бы рекомендовал попробовать tmux-better-mouse-mode , чтобы решить большинство проблем, связанных с tmux-мышью.

Он совместим с Tmux 2.1+ и новым параметром set-option -g mouse on.

ответил aymericbeaumet 7 WedEurope/Moscow2016-12-07T19:34:30+03:00Europe/Moscow12bEurope/MoscowWed, 07 Dec 2016 19:34:30 +0300 2016, 19:34:30
4

Единственное, что работает для меня, заключается в следующем: ~/.tmux.conf

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:[email protected]:[email protected]:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

(вам может потребоваться перезагрузка, чтобы это вступило в силу)

Update:

Я обнаружил, что если вы измените настройку в Putty Connection> Данные> Терминальный тип «putty» (используемый для исправления некоторых проблем с форматированием) с «xterm», тогда это решение перестает работать.

Обновление 2:

Используйте это, если вы хотите «замазку» в качестве типа вашего терминала: set -g terminal-overrides "putty*:XT:[email protected]:[email protected]:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

ответил phocks 28 +03002015-10-28T13:59:33+03:00312015bEurope/MoscowWed, 28 Oct 2015 13:59:33 +0300 2015, 13:59:33
1

Это сработало для меня:

vim ~/.tmux.conf
set -g mode-mouse on      ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf
ответил Chhetri 4 Jpm1000000pmWed, 04 Jan 2017 23:22:53 +030017 2017, 23:22:53
-3
  • Ctrl + A - чтобы начать прокрутку
  • Ctrl + C - для остановки прокрутки
ответил user656723 26 +03002016-10-26T10:55:46+03:00312016bEurope/MoscowWed, 26 Oct 2016 10:55:46 +0300 2016, 10:55:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132