Почему 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 eitheremacs 'или (обычно) `vi-insert'

Я обнаружил, что его примеры команд не совсем работают, и только -m emacs-meta работал - но я не уверен, как точно определить, какая клавиатура применяется.

Процесс обнаружения: поиск в списке рассылки (Google и site:http://lists.gnu.org/archive/html/bug-bash/ "bind -u") и поднял: Re: Некоторые функции readline не могут быть связаны с bind -u

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