【问题标题】:Emacs: print key binding for a command or list all key bindingsEmacs:打印命令的键绑定或列出所有键绑定
【发布时间】:2011-02-20 05:11:11
【问题描述】:

在 Emacs (GNU 23.2, *nix) 中,我该怎么做:

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

我知道直接执行命令可以打印一个可以激活它的键序列,但它并不总是这样做,并且会发生一些事情,包括:
(1) 输出不会保持太久,(2) 命令被执行。

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

【问题讨论】:

    标签: emacs key-bindings


    【解决方案1】:
    1. C-h f(或 M-x describe-function)将显示命令的绑定。

    2. 你是对的,C-h b(或M-x describe-bindings)会显示所有绑定。 C-h m (M-x describe-mode) 也可以方便地按模式列出绑定。

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

    【讨论】:

    • +1,还有C-h c(或M-x describe-key-briefly),它只是给出了在迷你缓冲区空间中分配一个键的功能。
    • 不确定这是否应该是一个单独的问题,但是否可以显示以特定键开头的所有键绑定/功能?例如,start 的哪些绑定?在“C-h m”之后按 不起作用,因为 Emacs 正在等待第二个键。
    • 这里作为一个新问题提出:stackoverflow.com/questions/10330510/…
    【解决方案2】:

    怎么样

    M-x where-is <COMMAND>
    

    您获得的信息与使用 C-h f 获得的信息相同。

    还绑定到 C-h w w w

    【讨论】:

    • 这实际上是第一个问题的正确答案,因为describe-function 没有列出ignoreself-insert-command 等函数的所有绑定。
    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 2012-01-23
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多