Як я можу створити сторінку вгору чи вниз у tmux за допомогою Terminal.app?


62

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

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

Як я можу прокручувати текст вгору або вниз за декількома рядками одночасно?


Те, що мене здивувало, але те, що, здається, працює нестандартно, - це прокрутка середньою мишкою під час використання tmux в gnome-терміналі.
Антон

Відповіді:


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? Тому що я сходив з розуму за клавіатурою останні тижні
Джим

@Jim Я не знаю жодної книги; Мене просто оточують люди, виховані на Маках. Що стосується основних налаштувань, то це матиме більше сенсу, як тільки ви це зробите. :)
mrb

Гаразд. Я спробую це якомога швидше. Спасибі за вашу відповідь. Я відчуваю позитив, що ти дав моє рішення моєї проблеми !!! Прийму це, як тільки я перевірю це
Джим

31

Я використовую комбінацію за замовчуванням для попереднього Yosemite MacBook Pro: fn+ + або fn+ + .

EDIT: Я знайшов, що на MBP під керуванням Yosemite fn+ або fn+ має працювати за замовчуванням.

У документації це часто відображається як ⇞ або ⇟


1
Це працює для мене в новому ефірі з 10.9.4, не змінюючи жодних уподобань чи конфігураційних файлів чи запускаючи будь-які команди.
Пол А Юнгвірт

8

Відредагуйте файл ~ / .tmux.conf, вставте налаштування "миша" та введіть файл, тобто:

###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

Це прекрасно працює!
Сіббс Азартні ігри

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

Після цього ви можете переглядати сторінки вниз jі ;в режимі копіювання


1
Швидке посилання про те, як перевести tmux у режим vi blog 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
мареофт

3

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

Якщо у вас є проблеми прокрутки із Shift-PageUp / Shift-PageDown у своєму терміналі, спробуйте це:

встановити -g перестановки терміналу '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

Дивіться відповідь Ронні нижче, щоб розпочати роботу над
веб

1

Переконайтесь, що ви використовуєте належні прив’язки клавіш tmux (vi vs 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(або іншими клавішами спрямування) для переміщення курсору чи екрана.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.