Tmux не может отличить insert от shift-insert

Загрузитесь в однопользовательский режим, нажав esc при запуске, затем через некоторое время нажмите любую клавишу и выберите однопользовательский режим, затем попробуйте эти команды

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r) nouveau.img;
dracut /boot/initramfs-$(uname -r).img $(uname -r)

Затем перезагрузитесь.

Примечание. Возможно, вам придется попробовать другие команды для удаления драйверов nVidia в однопользовательском режиме. Вы также можете не попробовать только текстовый режим, и разные системы имеют разные способы перехода в однопользовательский режим / только текстовый режим. Если нажатие ESC при запуске не работает, попробуйте нажать e или a.

2
25.08.2013, 17:08
1 ответ

Значение TERM не имеет значения. Как я указывал в tmux не передает правильно последовательности ctrl-shift-стрелка, tmux имеет таблицу специальных клавиш в стиле xterm, о которых он знает. Для этого случая в таблице xterm_keys_table есть запись для insert:

    { KEYC_IC,      "\033[2;_~" },

что означает, что он обычно преобразует любой из вариантов с параметром, в котором вы видите подчеркивание "_" в одно и то же значение:

\033[2;2~
\033[2;3~
\033[2;4~
\033[2;5~
\033[2;6~
\033[2;7~
\033[2;8~

Изменить это можно с помощью параметра xterm-keys:

xterm-keys[on | off]
Если этот параметр установлен, tmux будет генерировать последовательности функциональных клавиш в стиле xterm(1). последовательности функциональных клавиш; в них включена цифра, чтобы обозначают модификаторы, такие как Shift, Alt или Ctrl. По адресу по умолчанию выключено.

Когда вы включите опцию on, то tmux будет передавать без изменений специальные клавиши, соответствующие этому шаблону:

set-option -gw xterm-keys on

Однако вы можете заметить, что 1 не упоминается в исходном коде tmux. Поскольку tmux считывает ключи (прежде чем решить, что с ними делать), он сохраняет модификатор. Он не может отличить 1 от отсутствия модификатора вообще. Это имеет смысл, потому что xterm тоже не отличит эти два варианта.

В любом случае, xterm обычно не посылает ничего для клавиши вставки со сдвигом. Вы можете заставить его сделать это, используя ресурс translations, но согласно руководству xterm, сдвинутая вставка заставляет его вставить выделенный текст (т.е. вставить):

Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\
0
29.04.2021, 00:46

Теги

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