用于编辑init.el / .emacs的热键

时间:2014-04-02 15:33:31

标签: emacs elisp

我是一名血腥的初学者,所以请耐心等待。

我认为倾斜的最佳方式是潜入。因为我设置了我的Emacs环境,我经常编辑我的init.el,我想添加一个热键来查找它快速编辑,因为我会在接下来的几周内经常需要它。

我试过了:

(global-set-key [f7] '(find-file "~/.emacs.d/init.el"))

无济于事,下次按下时的答案是:

Wrong type argument: commandp, (find-file "~/.emacs.d/init.el")

我也尝试将它放入一个自己的函数中,模仿一个有效的热键(对于灵巧(global-set-key [f8] 'deft)):

(defun sz-init-el ()
  (interactive)
  (find-file "~/.emacs.d/init.el"))
(global-set-key [f7] 'sz-init-el)

那很有用。所以我尝试将(interactive)添加到我的第一次试用中:

(global-set-key [f7] '((interactive) (find-file "~/.emacs.d/init.el")))

但这不起作用(再次:Wrong type argument: commandp, ...)。

那么,有没有办法在不先定义函数/命令的情况下设置全局键绑定?或者我必须经过defun绕道?

感谢您的帮助和解答!

1 个答案:

答案 0 :(得分:3)

你需要使用lambda(又名匿名函数):

(global-set-key [f7] (lambda () (interactive) (find-file user-init-file)))

此外,使用变量user-init-file比硬编码名称更受欢迎。