Проблема с помощью Ctrl+Arrow вводит Vim при использовании Byobu с tmux

Попытайтесь использовать-f опцию сильно удалить пользователя.

userdel -rf 
11
22.08.2015, 03:17
2 ответа

Проблема двоякая. Во-первых, tmux по умолчанию преобразует клавиши со стрелками управления из одного типа escape-последовательности в другой. Поэтому специальные ключи, такие как control left , отправляются в vim без модификатора, например, left . Если вы используете cat -v , чтобы увидеть различные escape-последовательности, вы можете увидеть что-то вроде этого

^[OD

по сравнению с этим (вне tmux):

^[[1;5D

Строка

set-window-option -g xterm-keys on

исправляет этот аспект. Другая часть состоит в том, что tmux по умолчанию использует описание терминала для экрана . Это описание терминала не описывает клавиши со стрелками управления. Эти записи из базы данных терминала будут наиболее подходящими для VTE (gnome-terminal):

Есть и другие, например

, который будет автоматически выбран при запуске в screen , если соответствующий TERM снаружи был vte , vte -256color и т. Д. tmux не выполняет этот автоматический выбор; вам необходимо изменить его файл конфигурации.

Между прочим, здесь нет записи screen.xterm, потому что она мешает некоторым использованию screen . Нет конфликта с TERM = xterm-new .

Если у вас есть база данных терминалов по умолчанию (минимальная), такая как ncurses-base в Debian, возможно, у вас ее не будет. Более распространенным будет xterm-256color , который достаточно близок для использования с vim и tmux.

Например, если я добавлю это в свой файл .tmux.conf , он будет вести себя так, как вы ожидаете от vim:

set -g default-terminal "xterm-256color"

Дальнейшее чтение:

6
27.01.2020, 19:59

Отсюда вы можете отвязать комбинацию клавиш в byobu:

Создайте файл ~/.byobu/.tmux. conf с (или добавьте, если файл существует):

set-window-option -g xterm-keys on

Затем добавьте следующее в ~/.byobu/keybindings.tmux:

unbind-key -n C-Left
unbind-key -n C-Right
2
27.01.2020, 19:59

Теги

Похожие вопросы