Как сделать так, чтобы бёбу обрабатывал Ctrl+B?
Я привык к tmux, поэтому я хочу, чтобы Byobu использовал Ctrl+B в качестве escape-последовательности. Я нажимаю F9, меняю escape-последовательность и B
,
Но когда я нажимаю Ctrl+B на оболочке, он перемещается на один символ назад, вместо того, чтобы byobu/tmux справился с этим.
1 ответ
Во-первых, я обычно не использую F9
меню, так что это относительно новое для меня. Однако, когда я сделал это и нажал B
(нет ctrl
так как это предполагается / принудительно), он сразу же работал правильно (без перезапуска). Я не уверен, почему это не будет работать с вашей конфигурацией.
поскольку byobu
действительно хранит свой собственный набор элементов конфигурации и форсирует screen
/tmux
чтобы использовать его версии, вы можете найти, что изменить, посмотрев в ~/.byobu/
и как это изменить, прочитав соответствующие страницы man/help.
Вы можете редактировать byobu
Конфигурационные файлы за кулисами (не всегда хорошая идея, но должна быть приемлемой здесь). поскольку byobu
использует либо screen
или же tmux
(в зависимости от того, что установлено), ответ может находиться в ~/.byobu/keybindings
(для экрана) или ~/.byobu/keybindings.tmux
,
Я играл с использованием обоих screen
а также tmux
... выберите один (по умолчанию tmux
если установлен, я думаю) и идти с ним.
Перво-наперво
Проверьте, чтобы убедиться, что echo $HOME
печатает, что вы ожидаете (не пустая строка). Если нет каталога с именем .byobu
в этом домашнем каталоге, то либо byobu
установка выполняется или у вас не установлены правильные разрешения в вашем домашнем каталоге; пытаться mkdir "${HOME}/.byobu"
и если это не сработает, то это может быть частью вашей проблемы.
screen
От man screen
...
escape xy Set the command character to x and the character generating a literal command character (by triggering the "meta" command) to y (similar to the -e option). Each argument is either a single character, a two-character sequence of the form "^x" (meaning "C-x"), a backslash followed by an octal number (specifying the ASCII code of the character), or a backslash followed by a second character, such as "\^" or "\\". The default is "^Aa".
...
Первая строка ~/.byobu/keybindings
должен иметь byobu
исходная команда, так что не меняйте ее. После этого добавьте следующее:
escape "^Bb"
register x "^B"
bindkey "^B"
(Это взято дословно из того, что byobu
сделал для моей установки. Исторически - так как я использую screen
/tmux
без byobu
большую часть времени - я просто установил:
escape "^Bb"
defescape "^Bb"
Возможно, это не лучший способ, и в этом есть некоторая историческая хитрость, но это работает для меня.)
tmux
Точно так же из man tmux
:
prefix key Set the key accepted as a prefix key. prefix2 key Set a secondary key accepted as a prefix key.
мой ~/.byobu/keybindings.tmux
не имеет исходной команды, поэтому мой файл содержал только следующее:
unbind-key -n C-b
set -g prefix ^B
set -g prefix2 ^B
bind b send-prefix
Если это не работает
Знание вашей ОС и версий программного обеспечения будет полезно. Я тестировал это на Ubuntu-13.10 с помощью byobu-5.60-0ubuntu1, screen-4.0.3-14ubuntu10 и tmux-1.8-4.