Как я могу пролистать страницу вверх или вниз в tmux с помощью Terminal.app?

62

Когда я нахожусь tmuxтолько часть текста обнаруживается. Если я пытаюсь прокрутить вверх или вниз, консоль прокручивает вверх, но не текст . Если я нажимаю CTRL + b и затем [, я вижу в строке состояния *tmux, и если я нажимаю стрелку вверх или вниз, я могу фактически перемещаться вверх / вниз по тексту построчно . Когда я нажимаю, qя вижу в строке состояния bash.

Когда я CTRL+bследую Page UPили Pageконсоль идет вверх или вниз, но не текст.

Как прокрутить текст вверх или вниз более чем на одну строку за раз?

Джим
источник
Что меня удивило, но то, что, похоже, работает из коробки, это прокрутка средней мышью при использовании tmux в gnome-Terminal.
Anthon

Ответы:

89

Если вы используете Terminal.app для OS X, он будет захватывать Page up/downнажатия клавиш и просто прокручивать содержимое окна, как если бы вы использовали полосу прокрутки. Вы можете использовать Shift+ Page up/downдля отправки их в приложение внутри терминала.

Используя это, вы сможете прокручивать страницу за раз, используя:

  1. Control+B
  2. [
  3. Клавиши со стрелками или Shift+Page up/down
  4. Control+ Cкогда сделано с прокруткой

Если вы хотите изменить это так, чтобы он вел себя как любое другое приложение терминала на любой другой платформе, вы можете перейти в «Терминал» -> «Настройки», «Настройки», выбрать свой профиль и перейти в «Клавиатура», а также поменять местами привязки для «страница вниз / страница вверх» и «сдвиг страницы вниз / сдвиг страницы вверх»:

Скриншот настроек клавиатуры Terminal.app

МРБ
источник
+1 хотя я не могу это проверить, но это, похоже, победитель. Я помню, как пытался CMDстрелками, но я не помню, чтобы я пытался SHIFT. И swap the bindings for "page down/page up" and "shift page down/shift page upчто ты имеешь в виду? Я не уверен что делать. Я действительно надеюсь, что это работает, потому что мои нервы полностью разрушены этим
Джим
@Jim Посмотрите на скриншот. Если вы откроете настройки на своем компьютере, вы увидите, что ваши клавиши «страница вверх / вниз» и «сдвиг страницы вверх / вниз» имеют действия, отличные от того, что у меня (это привязки: какой ключ выполняет какое действие). Если вы переключите их, вы можете изменить то, что происходит, когда вы держите смену или не удерживаете ее. (Если вы редактируете их, вы можете ввести \033, нажав escape)
mrb
У меня нет моего macдоступны проверить это прямо сейчас, но в вашем скриншоте shift page downнем есть текст ИЭ scroll to next page in buffer. Это специальный текст, который делает именно то, что говорит? Т.е. определяет какое-то отображение? Также есть хорошая книга об этом в Mac? Потому что последние несколько недель я схожу с ума от клавиатуры
Джим
@ Джим, я не знаю ни одной книги; Я просто окружен людьми, поднятыми на Mac. Что касается настроек ключа, это будет иметь больше смысла, как только вы это сделаете. :)
mrb
Хорошо. Я попробую это как можно скорее. Спасибо за ваш ответ. Я уверен, что вы дали мне решение моей проблемы !!! Примите это, как только я проверю это
Джим
31

Я использую комбинацию по умолчанию на MacBook Pro Yosemite: fn+ + или fn+ + .

РЕДАКТИРОВАТЬ: я нашел на MBP работает Yosemite fn+ или fn+ должен работать по умолчанию.

В документации это часто отображается как ⇞ или ⇟

Даниэль В. Кромптон
источник
1
Это работает для меня на новом Air с 10.9.4 без изменения каких-либо настроек или конфигурационных файлов или выполнения каких-либо команд.
Пол A Jungwirth
8

Отредактируйте файл ~ / .tmux.conf, вставьте параметр 'mouse' и введите файл, например:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf
Surya
источник
Это работает отлично!
Sibbs Gambling
7

Обновление связывающих команд в ответе Роба и в ответ на комментарии Алекса:

Я также обнаружил page-upи page-downне действую команды tmux (v1.8), правильный способ обновления ~/.tmux.conf:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

Выберите emacs или vi в зависимости от того, какой стиль использует tmux, обратитесь к руководствуmode-keys по tmux

После этого вы можете PageUp и вниз jи ;в режиме копирования

Ронни
источник
1
Быстрая ссылка на то, как поместить tmux в режим vi blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket
Если вы внимательно прочитали статью, опубликованную JiminyCricket, объясните, что приведенный выше синтаксис предназначен только для tmux версии 2.3 и ниже. Если у вас более новая версия, то после включения режима vi команда list-keys -T copy-mode-viпокажет привязки клавиш в новом синтаксисе (хорошие примеры для подражания). Например, если вы хотите создать привязку к странице, используйте строкуbind-key -T copy-mode-vi j send-keys -X page-up
mareoraft
3

С https://wiki.archlinux.org/index.php/Tmux

Если у вас есть проблемы с прокруткой с помощью Shift-PageUp / Shift-PageDown в вашем терминале, попробуйте это:

set -g Terminal-Overrides 'xterm *: smcup @: rmcup @'

Это также может быть эмуляция терминала, попробуйте одно из следующего.

export TERM=vt100
export TERM=ansi
export TERM=xterm

возможно, один из них сделает это.

Есть также ключ, в ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

связал бы jи ;с предыдущим и следующим.

Роб Бос
источник
1
page-upи page-downявляются недопустимыми командами tmux (v1.8), поэтому последние две команды выдают ошибку:Unknown command: page-(up|down)
Alex Leach
См. Ответ Ронни ниже, чтобы заставить работать страницу вверх и страницу вниз
Silfheed
1

Убедитесь, что вы используете правильные привязки ключей tmux (vi против emacs), попробовав оба набора: https://superuser.com/questions/196060/selecting-text-tmux-copy-mode

У меня была похожая проблема, когда я мог перемещать курсор с помощью клавиш со стрелками, но не мог перемещаться вверх или вниз с помощью Control+ U/ Dи не мог выбирать и копировать с помощью Spaceи Enter. Оказывается, tmux находился в режиме emacs на моем Mac и в режиме vi в Linux, хотя я никогда не устанавливал его явно для обеих ОС.

Вэй
источник
0

Если вы новичок в OS X и знакомы с сочетаниями клавиш Windows и Linux, вы, вероятно, будете иметь привычку использовать CTRLдля многих вещей. В OS X вместо CTRLклавиши часто используется клавиша Command (Apple) .

Кроме того, вместо клавиш Page попробуйте использовать Command + Up(или другие клавиши со стрелками) для перемещения курсора или экрана.

SunSPARC
источник