Каков стандартный способ включить CTRL + стрелка (alt + B и alt + F) в консоли без графического интерфейса?

Решение этого вопроса написано здесь . own_window_type должен иметь значение override .

1
03.01.2017, 11:15
2 ответа

Если ваш shell использует библиотеку readline, вот что у меня есть в моем стандартном /etc/inputrc файле:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

Этот файл читается только если не установлена INPUTRC переменная окружения, и если у вас нет никакого .inputrc файла в вашем домашнем каталоге.

Теперь мы должны указать консоли выдавать одно из слов назад при нажатии Ctrl-Left и одно из слов вперед при нажатии Ctrl-Right.

Для этого мы должны добавить некоторые специальные клавиатурные связки в /etc/console-setup/remap.inc:

# Ctrl + Left arrows key (readline's backward-word)
control keycode 105 = F200
string F200 = "\033[5D"

# Ctrl + Right arrows key (readline's forward-word)
control keycode 106 = F201
string F201 = "\033[5C"

Здесь я позаимствовал две клавиши F200 и F201 (взятые почти случайно из вывода dumpkeys --long-info), чтобы сохранить последовательности, ожидаемые readline. keycode 105 - это левая стрелка, а keycode 106 - правая стрелка (эти коды были получены с помощью dumpkeys).

Теперь давайте пересоздадим нашу новую карту ключей :

setupcon --save-only

Она должна (пере)создать файл /etc/console-setup/cached.kmap.gz. Вы можете загрузить его вручную с помощью команды:

loadkeys /etc/console-setup/cached.kmap.gz

Или, лучше, аналогично при загрузке вашей машины:

service console-setup start
2
27.01.2020, 23:34

Для консоли Linux вы можете настроить раскладку клавиатуры. Начнем с dumpkeys . Это стандартный подход . Не существует применимого стандарта для привязок консоли Linux, но вы, безусловно, можете имитировать графический интерфейс (т.е. xterm, как намекает xhienne).

Я не вижу дубликата, но это было бы полезно:

1
27.01.2020, 23:34

Теги

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