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

时间:2011-04-15 20:57:20

标签: emacs elisp emacs23

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

2 个答案:

答案 0 :(得分:19)

您的.emacsinit.el不应包含多个requireload命令,它应该主要有autoloadautoload函数告诉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菜单中)。

最后,请注意加载时间并不重要,因为您应该starting Emacs at most once per session。登录时自动启动Emacs,使用窗口或使用--daemon选项在后台登录。然后,要编辑文件,请运行emacsclient。如果您在登录时不想启动它,也可以tell emacsclient to start Emacs if it's not running yet

答案 1 :(得分:2)

你可以compile it作为.elc文件(M-x byte-compile-file)