如何加快Emacs的启动速度

为什么要加快呢?!Emacs原本的启动就非常快了,emacs -Q 如果认为慢那一定是使用了不知所谓的配置,是否优化了工作流先不谈,代码有没有编译,有没有使用编译期优化,有没有使用运行期优化。这有个开箱即用的配置,是不是最快的我不确定,但是比doom是要快一个量级的,More Reasonable Emacs 看下文档跑起来再来讨论Emacs是快还是慢。

单说启动的话,是doom-emacs最快,日常使用的话,你的和Centaur速度都很快,均快于doom-emac。

启动慢,只要开一次不关上就好了, 可以参考这个视频

可是我要测试我的emacs配置文件啊,就写完经常要重新启动啥的,我还是个新手

大家的垃圾回收阀值是怎么设置的啊

调试可以通过load-file的方式进行。不一定非要重新启动。(我之前也总是重新启动,我甚至还安装了一个重新启动Emacs的插件,但后来发现没有必要。)

修改配置后最好不要重启emacs,可能load-file调试与重新启动emacs效果不一致,那就在开一个emacs实例,然后在把刚开的emacs实例关掉.

改了配置文件后重启当前emacs调试这个感觉很糟糕,万一配置文件那没改好,结果配置文件无法正常加载,要在接近emacs -q的状态下使用emacs把配置改好在启动,这个给我的感受是有点"一夜回到解放前"的感觉

楼主电脑什么系统?系统的关系很大,我同样一份配置文件(没有使用懒加载)在win10下启动需要28~33秒,在虚拟机FreeBSD系统需要2秒左右,在虚拟机openSUSE系统需要1点几秒,这里说的启动时间都是Dashboard显示的时间,可以的话换到Linux下用吧(我的win10系统还是固态硬盘,虚拟机都是在机械硬盘,这个速度差别太大了 :laughing:

emacs日常崩溃

建议使用emacs27+默认就有的功能 pdumper

单论启动速度的话,我这里emacs是比vim启动快的,emacs27+自带pdumper,我这里删了一些没什么用emacs自带的包,然后用pdumper启动,一般不会超过0.3s启动

主要是用了use-package

company-ctags推荐成功!

有时间我来试一下~

可能我不怎么折腾,好少崩溃。不过如果是日常,崩溃,加快了启动速度,依然难受。

我觉得lazy load这种用着是真的不舒服,每次动一下卡一下,还得用一会才不卡,配置文件还得写个老多一堆,不如pdumper来的方便快捷

我正在纳闷怎么之前看到你的配置里有projectile和counsel-projectile的配置, 现在怎么没了:slight_smile:

原来是重写了find-file-in-project.

projectile存在了很短一段时间,因为公司的电脑大多数只有Windows,而projectile的作者明确告诉我他不会去测Windows平台的。也许projectile作为某个插件的第三方依赖被引入过我的配置,但我是不用的。

事实上我得感谢 Bozhidar Batsov (projectile的作者),他不支持Windows迫使我学Lisp开发插件。

1 个赞

我现在基本上是只用windows,有些软件(比如印象笔记)在linux上体验很糟糕,太难折腾了。

你的counsel-etags和find-file-in-project都很方便好用!是泛用性非常广的包。

作者本人不用Windows,所以测试肯定没法做,跟我现在工作情况很类似。很多Windows bug只能有空的时候开个虚拟机看看。不过有projectile有其他贡献者使用Windows吧,这也是开源的好处。另外,projectile中,可以配置使用rg或者fd来查找,再哪个平台上并不重要,速度也是相当快。ffip可参考。

很久以前的事了。记不清细节了。那时应该还没有fd和rg。find-file-in-project 和 counsel-etags现在也支持fd和rg。