Emacs:打印命令的键绑定或列出所有键绑定


100

在Emacs(GNU 23.2,* nix)中,我如何:

  1. 列出绑定到特定命令的键序列?例如,如何列出执行的所有键序列save-buffers-kill-emacs,并绑定键序列的输出?假设我们可以做到这一点,列出绑定到的键序列goto-lineM-g g在默认安装时打印输出:
  2. 列出所有键绑定?不C-h b这样做呢?它会打印我自己的绑定吗?

我知道直接执行命令可以打印可以被激活的键序列,但并非总是如此,并且发生了一些事情,包括:
(1)输出不会保留很长时间,(2 )执行命令。

我想要一个命令,该命令为我列出(最好是所有)绑定到给定命令的绑定,而不执行该命令或类似的命令。

Answers:


138
  1. C-h f(或M-x describe-function)将显示命令的绑定。

  2. 您是正确的,C-h b(或M-x describe-bindings)将显示所有绑定。C-h mM-x describe-mode)也方便按模式列出绑定。

您也可以尝试C-h kM-x describe-key)显示键上绑定了什么命令。例如,在我的机器save-buffers-kill-emacs上没有任何绑定,但C-h k C-x C-c告诉我该C-x C-c绑定到save-buffers-kill-terminal。它将同时列出该命令的所有绑定。


10
+1,还有C-h c(或M-x describe-key-briefly)仅提供在迷你缓冲区空间中分配了键的功能。
Shannon Severance 2010年

不知道这是否应该是一个单独的问题,但是可以显示以特定键开头的所有键绑定/功能吗?例如,什么绑定以<f2> 开头?由于Emacs正在等待第二个键,因此在“ Ch m”之后按<f2>无效。
SabreWolfy 2012年

1
当被问及作为一个新的问题在这里:stackoverflow.com/questions/10330510/...
SabreWolfy

37

怎么样

M-x where-is <COMMAND>

您将获得与获得的信息相同的信息C-h f

也必将为C-h w<f1> w<help> w


这实际上是第一个问题的正确答案,因为describe-function它没有列出函数ignore或的所有绑定self-insert-command
David Ongaro '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.