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


当前回答

M-x load-file
~/.emacs

其他回答

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

. ~/.emacs

这样可以节省一些按键。

您可以使用命令load-file (M-x load-file,然后按Return两次以接受默认文件名,即当前正在编辑的文件)。

你也可以把这个点移动到任何性别p的末尾,然后按C-x, C-e来执行那个性别p。如果您只是更改一两行,通常不需要重新加载整个文件。

除了M-x eval-buffer或M-x load-file这样的命令,您还可以从命令行重新启动一个新的Emacs实例:

emacs -q --load "init.el"

使用示例:GNU Emacs中的公司后端

我目前使用的是Ubuntu 15.04 (Vivid Vervet);我喜欢为它定义一个键。

[M-insert]在我的键盘上翻译成Alt + Ins。

把这个放在你的emacs文件中:

(global-set-key [M-insert] '(lambda() (interactive) (load-file "~/.emacs")))

你可以像这样为Emacs设置键绑定:

;; Reload Emacs configuration
(defun reload-init-file ()
  (interactive)
  (load-file "~/.emacs"))

(global-set-key (kbd "C-c r") 'reload-init-file)