密钥绑定到更改后重新加载.emacs?

Rya*_*n M 2 emacs dot-emacs

作为Emacs的新手用户(我大约需要3个月的时间才能进行终身旅程),我会.emacs经常更改我的文件.将全局键绑定重新加载.emacs而不是通过令人难以置信的繁重过程M-x load-file(如果我深入某个目录,则删除一个长字符串)会很方便~/.emacs <RET>.我试过一个解决方案,但是

;; reload .emacs when C-c <f12> is pressed                                      
(defun reload-dotemacs ()
  (load-file "~/.emacs"))
(global-set-key (kbd "C-c <f12>")
                (lambda() (interactive) 'reload-dotemacs))
Run Code Online (Sandbox Code Playgroud)

似乎不起作用.基本上,当我输入组合键时,没有任何反应,而尝试M-x load-file ~/.emacs会使事情发生(例如,我看到我的yasnippet文件重新加载).

为了记录,C-c <f12>似乎没有任何其他约束.

sds*_*sds 6

修复你的代码

(defun reload-dotemacs ()
  (interactive)
  (load-file "~/.emacs"))
(global-set-key (kbd "C-c <f12>") 'reload-dotemacs)
Run Code Online (Sandbox Code Playgroud)

你不需要它1

当你这样做时,你不需要删除默认字符串M-x load-file RET- 只需输入即可~/.emacs.el RET.

你不需要它2

不要重新加载init文件,只需评估新代码.

输入C-h mC-h b.emacs.el缓冲区中,您将看到有用的键绑定(搜索后eval):

C-c C-b         eval-current-buffer
C-c C-r         eval-region
C-M-x           eval-defun
C-j             eval-print-last-sexp
C-x C-e         eval-last-sexp
Run Code Online (Sandbox Code Playgroud)