我需要将代码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
的绑定?
N.B。如果我取消设置delete-char
,它可以完美运行:
$ bind -u delete-char
$ bind -q delete-char
delete-char is not bound to any keys.
答案 0 :(得分:1)
正在运行GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin16.6.0)
,我看到的是同一件事。我可以通过以下方法取消想要的设置:bind -m emacs-meta -u backward-kill-word
根据维护者Chet:
除非您使用
-m' option, the commands act on the current keymap, which is either
emacs'或(通常)“ vi-insert”
我发现他的示例命令不是很有效,只有-m emacs-meta
有效-但我不确定如何精确地发现哪个键映射适用。
发现过程:搜索邮件列表(Googled和site:http://lists.gnu.org/archive/html/bug-bash/ "bind -u"
)并提取:
Re: Some readline functions can't be unbound with bind -u