-->

如何字节编译我的.emacs.d目录一切吗?(How do I byte-compile every

2019-07-31 06:29发布

我决定看看Emacs的,我非常喜欢它。 现在,我使用Emacs的入门工具包 ,其中排序提供了更好的违约和一些漂亮的自定义设置默认安装的Emacs。

我已经定制了一点,加了一些东西像yasnippet , 颜色主题 , 未绑定的 ,和其他的东西。 我已经成立了一个GitHub的仓库 ,我让所有的自定义的,所以我可以从多个地方或遇到麻烦时坏访问他们,我失去了我的.emacs.d目录。

所有这一切是非常好的,但有一个问题:Emacs的大约需要1-2秒的负载。 据我所知,我可以编译单个.el文件用的Mx字节编译文件.elc,和它的作品。 但也有很多的.el文件,我不知道是否有一种方法来编译他们都用一个简单的命令或什么的,加快的Emacs的加载。 我的Emacs是不是一直开着,我打开和关闭它相当频繁,我已经将它设置为在Total Commander编辑命令默认的编辑器来获得更快的适应它尤其是后(是的,Windows XP的在这里)。

我的Emacs的版本是22.3。 是的,默认的Emacs的安装,无需任何自定义触发了瞬间。

我不知道是哪个版本的方式加载吴时首选的.el或编译.elc一个

那么,有没有一个elisp的命令或Emacs命令行开关,使Emacs的字节编译.emacs.d目录的一切吗?

Answer 1:

C-u 0 M-x byte-recompile-directory

将编译目录,并在下面所有子目录的所有.el文件。

Cu 0部分,使之不问,不具有.elc对应每一个.el文件。



Answer 2:

要自动字节编译字节每个我开始emacs的时间编制所需要的一切,我把我的变化后以下load-path在我的上面.emacs文件:

(byte-recompile-directory (expand-file-name "~/.emacs.d") 0)

出人意料的是,它不会增加太多我的启动时间(除非有需要编译)。

为了加快我的emacs,我首先确定使用慢速部分型材dotemacs.el ,然后用它们代替自动加载 。



Answer 3:

您可以使用--batch标志在命令行中重新编译。

要重新编译所有的一切,

emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'

或重新编译单个文件作为从生成文件,

emacs --batch --eval '(byte-compile-file "your-elisp-file.el")'


Answer 4:

这是从摇曳的问题了一点,但要解决负荷问题慢慢地,你可以使用新的守护进程这一功能在Emacs 23。

“如果你有很多支持包的,emacs的启动可能是一个有点慢。但是,emacs的23带来的emacs --daemon,使您能够在后台启动的Emacs(例如,当您登录)。您可以立即弹出了新的Emacs窗口(帧)emacsclient。当然,你可能已经有一个Emacs在旧版本“服务器”,但能够在后台启动它使这是一个好得多的解决方案”

从http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html



Answer 5:

对于我使用spacemacs,命令是spacemacs/recompile-elpa 。 命令byte-recompile-directory不能编译任何文件。



文章来源: How do I byte-compile everything in my .emacs.d directory?