如何让Emacs重新加载我在.emacs中更新的所有定义而不重新启动Emacs?
当前回答
如果你碰巧在Emacs内部打开了一个shell,你还可以这样做:
. ~/.emacs
这样可以节省一些按键。
其他回答
你通常可以重新计算改变的区域。标记~/区域。然后使用M-x eval-region RET。这通常比重新评估整个文件更安全,因为很容易编写一个.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
解决方案
M-(加载user-init-file)
笔记
你在Eval: prompt中输入它(包括括号) User-init-file是一个保存~/的变量。Emacs值(指向配置文件路径) (load)是(load-file)的较短、较旧且非交互式的版本;它不是一个Emacs命令(要在M-x中输入),而仅仅是一个Elisp函数
结论
M-: > M-x
在init文件中定义它,并通过M-x reload-user-init-file调用
(defun reload-user-init-file()
(interactive)
(load-file user-init-file))
如果你碰巧在Emacs内部打开了一个shell,你还可以这样做:
. ~/.emacs
这样可以节省一些按键。