那些从 spacemacs 转到 doom-emacs 的 emacser,来说出你的故事

spacemacs

#1

比较感兴趣的是转过去以后,感觉有哪些改进或不足?希望能说明一下两者各使用了有多久。最好两边都有较长的使用经验,可以给大家提供一些 insights!


#2

spacemacs 是 2017.08之前到2017.12在用, 17年8月前应该也有在用 但是正式“立项”自己的private layer是在8月 https://github.com/fuxialexander/spacemacs-private-layer 抄抄改改44个commit

doom-emacs 是 2017.12 使用至今 目前已经折腾了592个commit了 https://github.com/fuxialexander/doom-emacs-private-xfu

最初把我吸引过去的最主要原因就是快 现在doom-emacs仍然是性能优化非常好的一份配置 在我自己乱七八糟加了一堆东西的情况下 linux虚拟机里的启动速度仍可以达到0.6-0.7秒 现在spacemacs有了pdumper,启动上应该快了许多,而doom-emacs因为lazy load了很多东西, 和pdumper的相性并不好。

第二个好处是配置的语法糖很多且简洁 不像spacemacs有时候抽象出的东西过多导致有点复杂化 相应的,hlissner调整架构的频率在2017-18年那会儿远高于spacemacs 现在稍微缓了点,但也一直有大动作 比如最近将要merge的branch就会把package management的后端改为straight.el 且用户配置几乎无需改动

第三个吸引我的点是hlissner(的美学强迫症以及无休止的emacs热情lol)这点没啥好说的,从doom-theme的成功以及现在doom-emacs develop分支的 9,616个 commits 就能看出来了。。。很有安心感(大雾

第四点来说 我觉得doom-emacs的discord server可能比spacemacs的gitter channel要有趣点 (里面的个个都是人才 说话又好听 超有意思der)大家经常唠唠嗑啥的

不太全面。。不过有点累懒得打了。。有人问到具体问题再说吧


#3

没有深入使用过doom-emacs。一直在用spacemacs。

spacemacs的工程很规范,多数时候不用看源码就能自己去hack。用起来真的舒服。什么都有。只是hack起来有时候略微费事了些。进入develop分支的代码质量参差不齐,带来不少麻烦。不过,谁让这是社区驱动的项目呢。大家努力总会好起来的。

spacemacs的dumper很好用。添加配置的时候基本上就可以不考虑lazy load的问题了。就是每次要重新dump一下。有点小不爽。其实还是很羡慕doom-emacs的lazy-load的。要是spacemacs也能够优化到类似的程度就好了。尝试过把doom-emacs的load-incrementally和after-call嫁接到spacemacs上。有效果,不是太明显。毕竟是系统工程。所有的包都优化一边很花时间啊。


#4

我跳了大概也有9个月了,最大的好处是用的人相对少,架构也挺清晰合理。因为人少,我有时候有一些问题或者意见都直接跟hlissner在discord上提,他人也特别热情。很多问题换在spacemacs上,你提个issue或者pr,少说得等个一两周,doom的话解决问题很快。


#5

定制方便,spacemacs layer的概念过于复杂


#6

定制doom时会不会出现必须改doom源码才能行的情况?我在spacemacs里面有就会遇到。


#7

不需要,改.doom.d就行,本地的


#8

也不应该啊,你可以覆盖掉原来的配置


#9

有些配置还真的没办法覆盖。比如默认配置是直接加载包,要想lazy load就只能改代码了。当然也可以用些trick,但太麻烦了。划不来。


#10

两者都用过,最后选择了 spacemacs 。

各有优缺点,我也经常去看doom-emacs抄配置,选择 spacemacs 是因为懒得去维护一些包升级带来的配置调整,靠社区帮忙挺全面的,我只要在合并的时候review一下代码就可以了,:laughing:

不过如果把它们当作入门起始配置,感觉两者差不多,之后自己的自定义配置占比会越来越多、越来越重要,再从各位大佬的配置中取经改造后,可能完全与最初迥异了,虽然有最初的影子,但既不是spacemacs也不是doom-emacs


#11

我的配置应该慢慢地也会走你的老路。在private layer上修改有时候真麻烦,不如直接改spacemacs源码方便。


#12

所以楼上几位不如直接用 Centaur Emacs 吧,增加修改自己的配置都更简单。


#13

centaur没有evil,刚需啊


#14

自己在 ~/.emacs.d/custom-post.el 加上 evil 配置就可以了啊


#15

添加evil是系统工程。权衡一下之后,我决定还是在spacemacs上面改吧。


#16

那可能是你还没理解 evil 吧,配置并不难,从其他地方也能抄过来。当然,你非要所有键都重新绑定,那就是系统工程,但那并不是 原汁原味的Emacs了。这也是我为什么默认不加 evil 的原因吧。


#17

vimmer可用不来原汁原味的emacs。最开始用上spacemacs就是看中它对evil的支持。让你说中了,我要的就是重新绑定所有所有按键。系统工程啊。这也是阻止我自己攒配置的主要原因。不划算。你的centaur这么赞,我以后肯定不会少抄的。


#18

所以楼主怎么就消失了呢?不想换下doom-emacs试试?

贴一下我自己的配置,大家可以当做参考 https://github.com/ztlevi/doom-config


#19

把evil做成一个选项,类似spacemacs可以用Ctrl_z切换,毕竟使用evil的emacser很多,大多数还是喜欢开箱即用。


#20

C-z本来就由evil自己提供啊