我想更改用于设置书签、列出它们并在 emacs 中查找它们的命令。这是我尝试过的 emacs lisp 代码:
(global-set-key (kbd "C-c C-z") (kbd "C-x r m"))
这是失败的。什么是正确的方法?
如果您想定义一个键来执行其他键所做的事情,那么您想做
(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
的第二个参数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)
你应该使用 Emacs 广泛的帮助系统:
global-set-key
以获取有关如何调用它的信息。