如何显示重写/阴影键绑定?

Nor*_*wap 12 emacs

在emacs中,如何为当前缓冲区显示阴影/重写的键绑定?运行describe-bindings(C-h b)时它们不会显示.

换句话说:如何查看缓冲区中活动的模式是否存在冲突的键绑定?

phi*_*ils 9

只需致电describe-mode:C-hm

大多数模式文档字符串将显示其键盘映射,此处用于列出它们的方法也会告诉您绑定是否被遮蔽.

它并没有告诉你它被它所掩盖的东西,但当然这对于检查C-hc或者是微不足道的C-hk.

例如:

key             binding
---             -------
[...]
C-M-q           indent-sexp
  (that binding is currently shadowed by another mode)
Run Code Online (Sandbox Code Playgroud)

该文本由函数生成,该函数在调用函数时substitute-command-keys处理模式docstring documentation.

例如:

(substitute-command-keys "\\{lisp-interaction-mode-map}")
Run Code Online (Sandbox Code Playgroud)

以下功能也很有用:

(key-binding KEY &optional ACCEPT-DEFAULT NO-REMAP POSITION) ;; dominant binding
(global-key-binding KEYS &optional ACCEPT-DEFAULT)
(local-key-binding KEYS &optional ACCEPT-DEFAULT)
(minor-mode-key-binding KEY &optional ACCEPT-DEFAULT) ;; discover keymap(s)
Run Code Online (Sandbox Code Playgroud)