Последние «невыпущенные» версии tmux автоматически распознают эти последовательности клавиш в стиле xterm после того, как ваш терминал отправляет их (нет необходимости изменять запись в terminfo). Следующая версия выпуска (1.8?) Также должна иметь эту поддержку. При соответствующей сборке tmux 1 все, что вам нужно сделать, это привязать ключи в вашей конфигурации tmux:
bind-key C-Tab next-window
bind-key C-S-Tab previous-window
Вам все равно нужно будет ввести свой префиксный ключ перед этими ключами.
(Примечание: ~/.tmux.conf
обрабатывается только при запуске сервера. Если вы внесете в него изменения, вам нужно будет либо выйти из всех ваших сеансов и перезапустить сервер, либо использовать (например) tmux source ~/.tmux.conf
, чтобы ваш существующий сервер повторно обработал файл. )
Кроме того, если вы хотите, чтобы tmux передавал эти (и другие) последовательности клавиш в стиле xterm программам, работающим внутри tmux, вам необходимо включить параметр окна xterm-keys
.
set-option -gw xterm-keys on
(При желании вы можете сделать это для каждого окна, используя -w
вместо -gw
.)
Если вы хотите использовать эти ключи без ввода префикса, вы можете вместо этого использовать привязки «без префикса»:
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
Тем не менее, это более или менее «выделит» ключи для tmux. Будет сложно ввести эти ключи в любую программу, работающую внутри tmux (например, вам придется использовать команду tmux send-keys C-Tab
- как обычно, xterm-keys
должен быть включен для отправки этих последовательности клавиш в стиле xterm).
Проблема с редактированием вашей записи terminfo, вероятно, связана с тем, что каждая строка после той, которая называет тип терминала, должна начинаться с табуляции. Строки, которые не начинаются с табуляции, являются началом новой записи терминала. Технически последовательность NL TAB - это, по сути, продолжение строки в этом формате файла; каждая запись представляет собой одну логическую строку.
Кроме того, если вы переопределяете записи terminfo, обязательно используйте -x
с infocmp и tic, чтобы сохранить определяемые пользователем возможности (некоторые из которых довольно стандартны).
1 Т.е. построено из недавнего кода в tmux репозитории Git на sf.net (по URL-адресу для клонирования git://git.code.sf.net/p/tmux/tmux-code
).
person
Chris Johnsen
schedule
18.03.2013