~/.inputrc приводит к тому, что клавиши CTRL+ не работают

Когда ~/.inputrc не существует, нажатие клавиш Ctrl + Стрелка влево и Стрелка вправо в командной строке Bash перемещает курсор назад и вперед на одно слово соответственно.

Однако если ~/.inputrc существует (независимо от того, пусто оно или нет), эти две комбинации клавиш приводят к ;5D а также ;5C печатается там, где находится курсор вместо перемещения курсора.

Как я могу это исправить?

2 ответа

Решение

Это потому, что если файл существует, bash использует ваши локальные настройки для настроек readline вместо стандартных.

От http://www.gnu.org/software/bash/manual/html_node/Readline-Init-File.html

"Когда запускается программа, использующая библиотеку Readline, читается файл инициализации и устанавливаются привязки клавиш".

Рекомендация в файле примера на gnu.org заключается в том, чтобы указать исходный код по умолчанию в вашей локальной строке в виде строки:

$include /etc/inputrc

а затем изменить оттуда.

set -o emacs в вашем ~/.profile должен сделать это.

Другие вопросы по тегам