随着我在emacs的init.el文件中添加越来越多的插件和配置,它的启动越来越慢。有没有办法避免这种情况发生?
.emacs
或init.el
文件不应该有太多的require
或load
命令,它应该主要包含autoload
。autoload
函数告诉Emacs:“如果你需要这个函数,就加载那个文件”。这样,文件只有在实际使用该函数时才会被加载。只有两种情况下才需要使用require
(或极少数的load
):
(require 'cl)
,颜色主题);autoloads
和其他启动定义的小文件(例如(require 'tex-site)
)。如果你还没有这样做,为像模式特定自定义这样的事情调用autoload
可以显著缩短启动时间,因为Emacs将需要加载较少的文件。
此外,请确保你的文件已经字节编译;它们将加载得更快(CPU时间更少)。对每个.el
文件调用M-x emacs-lisp-byte-compile
或M-x byte-recompile-directory
(这些命令在Emacs-Lisp菜单中)。
--daemon
选项在后台运行。然后,要编辑文件,请运行emacsclient
。如果您不想在登录时启动它,也可以告诉emacsclient
在尚未运行时启动Emacs。(byte-recompile-directory "~/where-i-put-my-packages/" nil nil)
或将最后一个nil值更改为非nil值以强制重新编译。 (describe-function 'byte-recompile-directory)
很棒 :) - clintm