如何让Emacs重新加载我在.emacs中更新的所有定义而不重新启动Emacs?


当前回答

C-x C-e ;; current line
M-x eval-region ;; region
M-x eval-buffer ;; whole buffer
M-x load-file ~/.emacs.d/init.el

其他回答

其他人已经回答了你的问题,但我发现我通常想执行我刚刚写的行。

为此,Elisp部分的Ctrl + Alt + X工作得很好。

C-x C-e ;; current line
M-x eval-region ;; region
M-x eval-buffer ;; whole buffer
M-x load-file ~/.emacs.d/init.el

如果你在当前活动缓冲区中打开了.emacs文件:

M-x eval-buffer

键盘快捷键:

(defun reload-init-file ()
  (interactive)
  (load-file user-init-file))

(global-set-key (kbd "C-c C-l") 'reload-init-file)    ; Reload .emacs file

如果你碰巧在Emacs内部打开了一个shell,你还可以这样做:

. ~/.emacs

这样可以节省一些按键。