Я обычно использую CTRL+Left и CTRL+Right для навигации между словами на командной строке. Я переключил свой ноутбук этим утром и больше не могу делать этого. Вместо этого входной код CTRL+Left печатается в терминале.
Т.е.: Вот мой вывод, когда я пытаюсь перейти с CTRL+Left:
~ $ test test ;5D;5D;5D
Любопытно, я могу все еще использовать CTRL+Left/Right очень хорошо в VIM.
Открытый ~/.inputrc
файл и добавляет следующие строки:
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Закройте и вновь откройте оболочку. Теперь необходимо смочь использовать те ключи.
Причины этого поведения? Не совсем бесспорный. По некоторым причинам или другой Ваш bash
остановленное чтение /etc/inputrc
файл, но это должно читать тот в Вашей домашней папке
Публикация этого ответа для наглядности, поскольку он лучше, чем текущий ответ, однако настоящий автор - @corygross, который написал его как комментарий выше.
Причина , когда у вас есть ~ / .inputrc
Ubuntu не является источником глобального / etc / inputrc
Решение : источник вручную / etc / inputrc
в вашем личном ~ / .inputrc
set completion-ignore-case On
$include /etc/inputrc
Это намного лучше, чем повторное добавление всех отдельных битов настроек Ubuntu по умолчанию обратно в ваш личный / etc / inputrc
.