Bry*_*ley 328
您可以使用命令load-file(M-x load-file然后按两次return键接受默认文件名,即正在编辑的当前文件).
您也可以将该点移动到任何性别的结束并按下C-xC-e以执行该性别.通常,如果您只是更换一两行,则无需重新加载整个文件.
Pet*_*ter 144
非常奇怪,非常方便
M-x eval-buffer
这里没有提到.
如果你.emacs是幂等的,它会立即评估缓冲区中的所有代码,它是最快的方法.
Dal*_*und 42
您通常只需重新评估更改的区域.标记您已更改的〜/ .emacs区域,然后使用M-x eval-region RET.这通常比重新评估整个文件更安全,因为编写一个在加载两次后不能正常工作的.emacs文件很容易.
Dom*_*ger 38
如果您在当前活动的缓冲区中打开了.emacs文件:
M-x eval-buffer
dig*_*mer 27
M-x load-file
~/.emacs
Run Code Online (Sandbox Code Playgroud)
Bah*_*bar 11
其他人已经按照说明回答了你的问题,但我发现我通常想要执行我刚写的那些行.为此,CtrlAltx在lisp工作正常.
键盘快捷键:
(defun reload-init-file ()
(interactive)
(load-file user-init-file))
(global-set-key (kbd "C-c C-l") 'reload-init-file) ; Reload .emacs file
Run Code Online (Sandbox Code Playgroud)
小智 9
M-: (加载user-init-file)
(load user-init-file)提示符中键入它(包括括号)Eval:是user-init-file默认情况下保存值(指向配置文件路径)的变量 ~/.emacs是更短,更老,非交互的版本(load); 它不是emacs命令(要输入M-x),而只是一个elisp函数(load-file) > M-:
我建议你最初不这样做.相反,启动一个新的emacs会话并测试您所做的任何更改,看它们是否正常工作.这样做的原因是为了避免让您处于无法运行的.emacs文件的状态,该文件无法加载或无法正确加载.如果您在原始会话中进行了所有编辑,并且在新会话中进行了所有测试,那么您始终可以使用可靠的方法来评论有问题的代码.
当您对更改感到满意时,请继续使用其中一个其他答案重新加载.我个人的偏好eval仅仅是您添加/更改的部分,并且只是突出显示已添加/更改的代码和调用的区域M-x eval-region.正如luapyad指出的那样,这样可以最大限度地减少评估的代码,最大限度地减少任何无意的副作用.
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
Run Code Online (Sandbox Code Playgroud)
在您的初始化文件中定义它并通过Mx reload-user-init-file调用
(defun reload-user-init-file()
(interactive)
(load-file user-init-file))
Run Code Online (Sandbox Code Playgroud)