更改emacs中的键绑定

时间:2013-07-31 17:39:03

标签: emacs elisp

我想更改设置书签的命令,列出它们并在emacs中查找它们。 这是我尝试过的emacs lisp代码:

(global-set-key (kbd "C-c C-z") (kbd "C-x r m"))

这是失败的。什么是正确的方法?

3 个答案:

答案 0 :(得分:4)

如果你想定义一个键来执行其他键的操作,你想要做

(global-set-key (kbd "C-c C-z") (global-key-binding (kbd "C-x r m")))

如果那样你可以将 Cx rm 重新绑定到其他地方并且 Cc Cz 仍将绑定到bookmark-set(这类似于文件复制)。< / p>

另一方面,如果要为 Cx rm 创建 Cc Cz 别名,则需要使用{{1 }}:

function-key-map

在这种情况下 C-c C-z 将执行 C-x r m 正在执行的操作,即使您重新绑定后者(这类似于符号文件链接)。

答案 1 :(得分:2)

global-set-key的第二个参数需要是您要运行的函数的符号。在您的情况下,命令 C-x r m 通常对应于bookmark-set(我通过运行 C-x k C-x r m 确定了这一点,所以你应该通过'bookmark-set

(global-set-key (kbd "C-c C-z") 'bookmark-set)

答案 2 :(得分:1)

您应该使用Emacs广泛的帮助系统:

  1. 使用 f1 f ,光标位于global-set-key以获取信息 如何调用它。
  2. 使用 f1 k 找出任何快捷方式或菜单项调用的命令
  3. 如果您需要更多信息,请查看信息页 f1 i 。 使用 g(info)了解如何使用信息。