Использование Ctrl + B меньше в tmux


17

Я использую Ctrl+Bпрефикс команды in tmux, однако это конфликтует с Ctrl+Bin less, который используется для прокрутки файла.

Как я могу заставить это работать? Должен ли я установить другой префикс команды tmux? Я действительно не хочу изучать новые сочетания клавиш, если я могу избежать этого.

Ответы:


18

Очевидно, что у вас не может быть двух клавиш, которые делают одно и то же, когда обе программы слушают. Tmux получит это первым. Вы не указали, какой набор привязок клавиш вы не хотите изучать заново, но вы должны сделать что-то другое, потому что один и тот же ключ используется для обоих приложений.

Если вы используете его только в некоторых случаях, lessвы можете просто передать реальную вещь, нажав Ctrl+ BB(это дважды Ctrl-B), tmuxчтобы передать Ctrl-B приложению в текущей панели.

Если вы хотите изменить tmuxпривязку на что-то другое (скажем, как Ctrl+ Alike screen), вы можете добавить это в ваш файл ~ ~ .tmux.conf:

unbind C-b
set -g prefix C-a

Если вы хотите использовать что-то еще less, Gключ обычно должен идти в начало файла, поэтому никаких изменений не требуется. Если это изменение вас не устраивает, вы можете перепривязать ключи, используя lesskey.


Если я изменю привязку tmux на Ctrl+A, это будет конфликтовать с началом команды. У меня также есть Ctrl + B + B, связанный с ранее выбранным окном.
Догбейн

1
@Caleb: В моем tmux(Ubuntu 11.04 с конфигурацией по умолчанию) «Ctrl + B B» ничего не делает (и не документировано на странице руководства); нужно использовать "Ctrl + B Ctrl + B", чтобы отправить Ctrl + B в приложение. (Напротив, по screenумолчанию используется «Ctrl + A A» для отправки «Ctrl + A» приложению.) В любом случае, отличный ответ.
Риккардо Мурри

1
@RiccardoMurri: это проблема номенклатуры. Я не оставлял пробел между Bклавишами, которые указывали бы на то, что я отказался от управления. Обычно с такими стилизованными клавишами вы помещаете пробел или запятую между клавишами, если клавиша управления должна была быть отпущена, но это не является четко определенным стандартом. Некоторые люди даже не используют тот же +синтаксис ...
Калеб

@dogbane: Если вы повторно связали двойной CTRL-B с чем-то отличным от значения по умолчанию, это ваша ошибка, и вам придется либо переназначить это, сопоставить версию CTRL-B сквозной передачи с чем-то другим, либо использовать другой ключ за меньшее.
Калеб

2
@ Dogbane я использую Ctrl+\ , но это, очевидно, вопрос личных предпочтений. Вам не понравится мой выбор, если у вас нет способа печатать Ctrl+\ на клавиатуре без искажений пальцев.
Жиль "ТАК - перестань быть злым"


6

Вы можете использовать команду tmux send-prefix. Он отправит ваш префикс привязки ключей tmux к текущему окну

Например, в .tmux.conf:

set-option -g prefix C-a
bind-key v send-prefix

Затем нажатие Ctrl-a+ vотправит Ctrl-aна терминал.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.