一个问题已经被问到如何在更改.emacs
文件后重新加载。
建议在改变的区域使用M-x load-file
或M-x eval-region RET
。
这两种解决方案对我来说都不会影响其他打开的缓冲区。是否有一种方法重新加载.emacs
文件为所有打开的缓冲区?
我还应该注意到,M-x load-file
没有达到预期的效果,原因在该答案的评论中概述。
.emacs文件是一个全局配置,只计算一次。它不会单独应用于每个缓冲区。
你实际上如何实现你想要的是真正取决于这些。emacs的变化是什么。有些省略只在第一次求值时生效;或者当缓冲区改变主要模式时;或者当文件被加载时;等等…
如果您想重新加载部分或全部文件缓冲区,ibuffer
使这非常容易:
-
M-x
ibuffer
RET启动ibuffer(我建议将此绑定到C-xC-b)。 -
/
f
。
RET通过文件名regexp
.
进行过滤,以便匹配任何文件名。 -
m(在
[default]
上)标记所有过滤缓冲区。 - V(大写)恢复所有标记缓冲区。
或者你可以用M-x ibuffer-mark-by-file-name-regexp
RET .
RET来代替步骤2+3。您可能希望将该命令绑定到*f:
;; Bind `ibuffer-mark-by-file-name-regexp' to *f
(eval-after-load "ibuffer"
'(define-key ibuffer-mode-map (kbd "* f") 'ibuffer-mark-by-file-name-regexp))
键入*c-h查看所有其他默认绑定的ibuffer-mark-*
命令。
你可能觉得这是蛮力,但是
- 它肯定会重新加载你的初始化文件(考虑替代。emacs)
- 它将重新加载所有打开的缓冲区(如果你正在使用桌面,你应该)
-
这很容易
C-x C-c emacs --debug-init &