纠结半天, 从space emacs换成doom emacs, 整个世界清净了...

其实主要只是用emacs用org相关的, 比如todo跟进, 知识管理 spacemacs蛮方便的, 快捷键我也熟悉了.

但是

  1. 莫名其妙CPU很高, key lag很大. profile之后, 发现是 spacemacs/helm-M-x-fuzzy-matching 占用大多数, 网上讨论的多, 方案少, 解决不了.
  2. 隔三差五跳出一个进程, 去sync roam, 这个我忍.
  3. 安装新包不成功, gpg无法校验签名; 查查攻略, 都不行, 那我也不装了
  • package-check-signature 设成 nil, :x:
  • gpg导入key, :x:
  • 换spacelpa, :x:

尝试了doomemacs, 发现比较轻量. 但下不了决心, 抛弃之前的知识和习惯.

回spacemacs折腾好久, 还是搞不定, 最终想象doom比较丝滑, 干脆换过去吧.

整个世界清净了 (for now)…

2 个赞

spacemacs 好像也支持 ivy 吧,可以换掉 helm

2 个赞

还好我一开始就是从原生Emacs入手,一段一段攒配置的

4 个赞

经过这次之后,估计后面就开始自己慢慢搞了

2 个赞

+1。每位eMACS用户的归宿。这就跟做饭一样,自己弄的更有成就感,哪里不合心意了随时知道要改哪里

4 个赞

helm 那个也曾经困扰我几个月, 但把它换掉不就好了

1 个赞

如果只是用org相关功能,自己写下配置也不费事

1 个赞

我是一个从doomemacs入门并换成自己配置emacs的用户。

我经常看到很多人上来就向新手推荐doomemacs,对此我持有保留意见。doomemacs或许入门容易,开箱即用,但是它在原本就很复杂的emacs上又hack了一层挺不简单的配置(虽然相比spacemacs要轻量),使得新手想引入自己配置的时候不仅要了解其已经安装了哪些包,还要知道各种包的关系,要瞻前顾后,难以下手。同时,网上能获取的emacs资料大多还是纯emacs的资料,而doom自己的文档也没有足够完备(虽然doom自己的论坛挺不错,但也不能老是追着人问不是),这进一步增加了新手深入了解emacs的难度。

我个人建议如果要深入了解并配置一个比较个性化的emacs的话,最好还是从vanilla emacs或者一个简单的starter kit入手,这样你对你的配置知根知底,hack起来更简单直接,参考资料更加充分。而像我当时一样,对emacs什么都不懂,上来就doom,看似是走了捷径,实则是绕了远路。

不过,doom作为配置而言还是很值得抄的!

8 个赞

人家给你烧了道美味的菜,你不好好享受美食,非要扒拉着找出用了啥食材,怎么烹饪的,然后试图自己烧,废了九牛二虎之力满头大汗满脸锅灰,尝了一口就吐了😄

讲真,99% emacs用户用就好了,不要试图去重度定制。

3 个赞

我觉得你的话是在理的,有时我确实干了一些重复造轮子的事情。

但是,我对于我自己配的emacs,至少没有到尝了一口就吐的程度

(这个压缩过的图片饱和度有所下降)

甚至还给这份配置模仿starbound画了一个logo : -P

其实,最主要的原因还是因为,我是乐在其中的

3 个赞

有没有一种可能,出bug的时候henrik度假去了,一度一整个冬天。 :joy:

3 个赞

确实,我也是赞同楼主自己能多琢磨。

Emacs的使用最后大概率还是会走到自己配置。无论是spacemacs还是doom,都是过渡的学习阶段。他们方便了初学者的入门,但是本身在Elisp上封装了自己一套的配置逻辑,这其实到后面阻碍了直接理解Emacs本身的工作逻辑。

从这个角度看,其实Purcell以及Centaur 的配置更扁平些。

2 个赞

我用了 doom 的配置大概小一年吧,然后后来假期用了三天重写了一套自己的可用的 emacs 配置,然后大概花两周时间把各种零零碎碎的我用得到的 features 全部都写到我自己的配置里了。(就是 elfeed,mu4e 之类的有的没的)。

我不觉得新人上来就用 doom 会有问题,也不会带来什么额外的困惑,额外的封装抽象之类的问题。你买了一辆跑车你会想着一上来把里面的零件拆开看到底是怎么组装的吗?先用就完事了,然后慢慢攒自己的 elisp code,就相当于满满积攒如何修小部件的经验,之后熟悉了再从头自己组装就很容易了。

doom 的功能是最全面的,而且一上来就有一套很强的配置。

我每次要查 bug 使用 emacs -Q 加载零配置文件的时候用的都要吐血。

原生 emacs 是完全不可用的状态,我哪怕是自己重写我自己的配置也是上来就直接照着 doom,陈斌等人的配置参考先把配置 evil,vertico 之类的全家桶配好。不把这些东西配置好 emacs 根本用不了。

而新人如果不了解这些东西到底是在做什么的,上来就从一个零配置的根本不可用的(零配置不可用这点是重点)emacs 开始一点点读文档一点点写配置,要浪费多少时间?

2 个赞

:smile: 同感啊。所以我后来为了 emacs -Q 的时候顺手点,专门再去熟悉了一翻零配置的 Emacs,其实还是可用的。再后来我干脆放弃了 evil,直接用原生按键,其实也很不错。现在随便切到零配置的 Emacs,一样用的顺溜了。

以前我也喜欢推荐 Vanilla Emacs ,但是现在想通了:

  1. 这是一个主观题,只有自己才能完全了解自己的需求。在使用 Emacs 初期完全可以尝试一下不同的 starter kits 和 Vanilla Emacs,看看哪个更适合自己。这个对于后期折腾的时间来说是一件成本很低的事情。

  2. 用 Emacs 的目的是用来干活,总不能为了用 Emacs 而折腾 Emacs 。大多数 starter kits 都是能开箱即用的,这对于空闲时间不多的人群来说很有吸引力,也能第一时间体会到 Emacs 的强大。

  3. 关键是学会 elisp 。不管你用哪一个配置,elisp 都是你绕不过去的一个坎,学会 elisp 后,你想干什么都很方便。想对配置知根知底?想完全自定义自己的 Emacs ?无论你是用 starter kits 还是 Vanilla Emacs ,只要学会 elisp ,这些都不是问题。

starter kits 和 Vanilla Emacs 都有各自的优缺点,很多时候都是汝之蜜糖,彼之砒霜。论坛关于这类的贴子有很多,从我个人的角度看完全没有必要纠结配置的选择,Emacs 是很自由的,你完全可以随着自己需求的改变选择不同的配置,这都没有任何问题。

8 个赞

零配置难用主要其实不是按键模式的问题,bash/zsh能用习惯 emacs 的按键用习惯不是问题。

主要是: 1. 缺乏 buffer 弹框的自动补全,而且 company 和 corfu 配置起来都很麻烦。company 的自动补全要去读懂它的文档搞懂他的 backends 的优先级,corfu 要去了解 capf,还要使用 cape 把多个 capf 组装起来,因为原生 capf 的运作机理就是一个傻 x 逻辑。对于新人来说,我只想要一个补全弹框而已,为什么要这么麻烦?你别忘了,你得用零配置没有任何补全框的 emacs 写下这么一长串的配置代码哦🤣 lsp-bridge 的 acm 倒是真正意义上的几乎零配置,可以开箱即用,但是它装包麻烦,需要了解 load-path 的机制,还需要去装 python。lsp-bridge 的那个帖子里无数个新人不会装包卡死在第一步(linux用户还好,windows用户天天都要被PATH,C工具链之类的东西折磨)。其实我搞不懂,company 和 corfu 都进 elpa 了,为啥不把它们做成内置包,并且设置一些友好一点的默认配置啊。

2.缺乏一个好的命令补全框架 (也就是M-x)。新人肯定会觉得 emacs 的 M-x 和 vscode 的 ctrl-shift-p 是一个回事吧,实际上默认的使用起来就和 bash 的自动补全一样,上个时代的东西。vertico全家桶配置起来不麻烦,但是要装一大堆包,几个包漏装了哪一个使用体验都会大大下降。vertico 全家桶 也进 elpa了,为啥不内置,同上。

1 个赞
  1. completions buffer 也不是不能用

  2. Emacs 自带 fido-mode

我从spacemacs切换到了自己配置。发现用不上那么多功能。只配置了有限的几个包就可以了。

配置company只要理解一个变量company-backends就可以了.

每一个backend还会提供一些自己的控制变量,高级用户可以通过看backend的源代码了解.

自己手写一个backend可以算专家了, 实际上也不难,我在视频教程里教过一小时也会了. 也可以模仿company-ispell的代码写一个类似的backend.

1 个赞

怎么不去用 IDE :smile:

1 个赞