随着我向emacs的init.el添加越来越多的插件和配置,它的启动变得越来越慢。有什么方法可以避免这种情况吗?
答案 0 :(得分: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菜单中)。
最后,请注意加载时间并不重要,因为您应该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)