Почему readline не сбрасывает `backward-delete-char`?
Мне нужно привязать код 127
(ака DEL
ака ^?
) чтобы delete-char
,
Если я поставлю DEL: delete-char
в ~/.inputrc
, это не работает. Это потому, что этот код используется backward-delete-char
по умолчанию.
Итак, сначала мне нужно освободить этот код от backward-delete-char
:
$ bind -u backward-delete-char
Но почему-то это не так:
$ bind -q backward-delete-char
backward-delete-char can be invoked via "\C-?".
Что следует изменить в исходном коде библиотеки readline (для локального использования), чтобы отменить привязку \C-?
от backward-delete-char
?
NB Если я сброшен, например delete-char
работает без нареканий:
$ bind -u delete-char
$ bind -q delete-char
delete-char is not bound to any keys.
1 ответ
Бег GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin16.6.0)
Я вижу то же самое. Я могу сбросить тот, который я хотел с этим: bind -m emacs-meta -u backward-kill-word
По словам сопровождающего Чет:
Если вы не используете
-m' option, the commands act on the current keymap, which is either
emacs 'или (обычно) `vi-insert'
Я обнаружил, что его примеры команд не совсем работают, и только -m emacs-meta
работал - но я не уверен, как точно определить, какая клавиатура применяется.
Процесс обнаружения: поиск в списке рассылки (Google и site:http://lists.gnu.org/archive/html/bug-bash/ "bind -u"
) и поднял: Re: Некоторые функции readline не могут быть связаны с bind -u