1

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

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

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

4

3 回答 3

4

如果您想定义一个键来执行其他键所做的事情,那么您想做

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

如果那时你可以重新绑定C-x r m到其他东西并且C-c C-z仍然会被绑定bookmark-set(这类似于文件复制)。

另一方面,如果您想为 制作C-c C-z别名C-x r m需要使用function-key-map

(define-key function-key-map (kbd "C-c C-z") (kbd "C-x r m"))

在这种情况下,即使您重新绑定后者(这类似于符号文件链接) ,C-c C-z也会做任何事情。C-x r m

于 2013-07-31T17:49:28.833 回答
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)
于 2013-07-31T17:44:37.153 回答
1

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

  1. f1 f与光标一起使用global-set-key以获取有关如何调用它的信息。
  2. 用于f1 k找出任何快捷方式或菜单项调用的命令
  3. f1 i如果您需要更多信息,请查看信息页面。用于g (info)学习如何使用信息。
于 2013-07-31T17:50:28.053 回答