2

我需要将代码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-?from backward-delete-char

注意如果我取消设置例如delete-char,它可以完美地工作:

$ bind -u delete-char
$ bind -q delete-char
delete-char is not bound to any keys.
4

1 回答 1

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奏效——但我不确定如何准确地发现适用的键盘映射。

发现过程:搜索邮件列表(谷歌和site:http://lists.gnu.org/archive/html/bug-bash/ "bind -u")并拿起: Re:某些readline函数不能用bind -u解除绑定

于 2018-07-05T00:01:22.807 回答