如何使自定义的emacs加载更快?
随着我在emacs的init.el中添加越来越多的插件和配置,它的启动速度越来越慢。有什么办法可以避免这种情况吗?你可以作为.elc文件(M-x字节编译文件)你的如何使自定义的emacs加载更快?,emacs,elisp,emacs23,Emacs,Elisp,Emacs23,随着我在emacs的init.el中添加越来越多的插件和配置,它的启动速度越来越慢。有什么办法可以避免这种情况吗?你可以作为.elc文件(M-x字节编译文件)你的.emacs或init.el不应该有很多需要或加载命令,它应该大部分都有自动加载。该函数告诉Emacs“如果需要此函数,请加载该文件”。这样,只有在实际使用该函数时才会加载该文件。在两种情况下,您只需要require(或者很少load): 如果有需要立即生效的定制(例如,(require'cl),颜色主题) 如果您正在加载的是一个小文
.emacs
或init.el
不应该有很多需要或加载命令,它应该大部分都有自动加载。该函数告诉Emacs“如果需要此函数,请加载该文件”。这样,只有在实际使用该函数时才会加载该文件。在两种情况下,您只需要require
(或者很少load
):
- 如果有需要立即生效的定制(例如,
(require'cl)
,颜色主题)李>
- 如果您正在加载的是一个小文件,其中包含包的
自动加载
和其他启动定义(例如(需要“tex站点)
)
如果您还没有这样做,那么调用autoload
进行特定于模式的定制可以显著缩短启动时间,因为Emacs需要加载更少的文件
此外,请确保您的文件是字节编译的;它们将加载得更快一些(CPU时间更少)。在每个.el
文件上调用M-x emacs lisp byte compile
,或M-x byte recompile目录
(这些命令位于emacs lisp菜单中)
最后,请注意,加载时间并不重要,因为您应该这样做。当您登录时,使用窗口或后台的--daemon
选项自动启动Emacs。然后,要编辑文件,请运行。如果您不想在登录时启动它,您也可以这样做。对于那些与e守护进程模式和编辑器颜色,这非常有用:如果您不喜欢确认每个目录和/或文件:(字节重新编译目录“~/where-i-put-my-packages/“nil-nil)
,或者将最后一个nil值更改为非nil值以强制重新编译。(描述函数“字节重新编译目录”)
rocks:)从:“字节编译你的init文件是不推荐的…如果你的init文件定义了很多函数,考虑把它们移到你在init文件中加载的一个单独的(字节编译的)文件。”……说,有建议的机制来自动维护你的Emacs初始化文件的字节编译版本。例如,请参见和。