На предыдущей работе на компьютере с Debian Wheezy я привык к Alt + Left и Alt + Right, чтобы пропустить слова в активной командной строке (в bash).
Однако, поскольку дома я обновился до Jessie (Debian 8.0, тестирующая ветвь), это больше не работает: вместо перехода к предыдущему слову, Alt-Left печатает что-то вроде D
или [D
. OTOH, если я открою ssh и подключусь к своему безголовому Debian Wheezy, он отлично работает.
Кроме того, я только что установил Fedora 20 на своей новой работе, и здесь поведение такое же. Это относится к bash, csh и ksh (началось с env -i
), а также к rxvt-unicode и xfce4-терминал, поэтому он должен быть чем-то за пределами этого уровня.
Где еще в стеке я должен искать разницу?
bash
terminal
keyboard-shortcuts
readline
Алоис Махдал
источник
источник
Ответы:
Возможно, вы определили локальный
~/.inputrc
или глобальный/etc/inputrc
файл, который был потерян при обновлении. Простое решение - создать~/.inputrc
файл со следующими строками:Те будут работать с
xterm
иterminator
и,gnome-terminal
но, возможно, должны быть настроены для других терминалов. К сожалению, каждый эмулятор терминала может использовать свой синтаксис. Для более подробной информации, смотрите мой ответ здесь .источник
Тердон направил меня в правильном направлении: файл inputrc .
Преступник заключается в том, что readline6 на самом деле использует ~ / .inputrc вместо / etc / inputrc, что readline (3) не подчеркивает и не опровергает:
Таким образом , в то время как на обеих машинах Debian / и т.д. / INPUTRC идентична обеспеченному libreadline6 пакета (версия та же, а), на новой машине ~ / .inputrc существует с одной строкой:
set bell-style none
. Когда этот файл удален, все работает нормально (см. Примечания ниже).Я не могу проверить Fedora до завтра, но я думаю, что это та же проблема. Обновление: в Fedora ~ / .inputrc не существовало, здесь / etc / inputrc просто отличается, поэтому может не определять это. В качестве исправления я просто сохранил inputrc Debian как мой ~ / .inputrc.
Примечания:
Тайна, как это изменилось во время обновления 7> 8, остается нерешенной, но отчасти это можно объяснить моей плохой памятью и манипуляциями с некоторыми непреднамеренными точечными файлами. (Кстати, это было не обновление APT, а переустановка и перемещение точечного файла вручную, так что, возможно, ~ .inputrc каким-то образом помешал.)
Кроме того, когда я говорю «ОК», я имею в виду, что он работает с Ctrl везде, кроме Rxvt (ОК, я проверил только xfce4-терминал, но мы знаем, что Rxvt - обычный бунтарь), где это переназначается на Alt, по-видимому, потому что Ctrl берется Rxvt -специфичная функциональность - переместить активную вкладку в список.
Как упоминает man-страница, в bash вы можете использовать встроенную команду bind, чтобы выяснить, что у вас есть в данный момент.
источник
$include /etc/inputrc
наверху,~/.inputrc
если вы тоже хотите это прочитать.$include
d по умолчанию).