如何让我的自定义emacs加载速度更快?

Ped*_*olo 10 emacs elisp emacs23

随着我向emacs的init.el添加越来越多的插件和配置,它的启动变得越来越慢.有什么方法可以避免这种情况吗?

Gil*_*il' 19

.emacs或者init.el不应该有很多require或者load命令,它应该主要有autoload.该autoload函数告诉Emacs"如果你需要这个函数,请加载该文件".这样,只有在您实际使用该函数时才会加载该文件.在两种情况下你只需要require(或很少load):

  • 如果有需要立即生效的定制(例如(require 'cl),颜色主题);
  • 如果你要加载的是一个包含包的autoloads其他启动定义的小文件(例如(require 'tex-site).

如果您还没有这样做,那么调用autoload特定于模式的自定义项可以显着缩短启动时间,因为Emacs必须加载更少的文件.

此外,确保您的文件是字节编译的; 它们的加载速度会更快(CPU时间更短).调用M-x emacs-lisp-byte-compile每个.el文件,或M-x byte-recompile-directory(这些命令在Emacs-Lisp菜单中).

最后请注意,加载时间并不重要,因为每个会话最多应该启动一次Emacs.登录时自动启动Emacs,使用窗口或使用--daemon选项在后台登录.然后,要编辑文件,请运行emacsclient.如果您在登录时不想启动它,也可以告诉emacsclient启动Emacs是否尚未运行.