大家会专门为了编辑配置写一份 Emacs 的副配置来独立使用吗

众所周知,Emacs 并不是一定要使用 ~/.emacs.d (或者其他默认配置路径)的,它也可以使用独立的配置路径。为方便讨论,以下将使用默认路径的配置(或者说一个系统上主力使用的配置)称为“主配置”,其余称为“副配置”。

当编辑主配置时,可能会出现把主配置编辑崩掉的情况,此时使用主配置的 Emacs 就会自动回到默认配置,变得非常难用(至少不符合个人使用习惯),尤其是在使用 Org-mode 文学编程或 Nix 配置文件来管理 Emacs 配置时,在这种情况下艰难地调试主配置就变成了苦上加苦的劳动。

因此,或许可以考虑使用一份独立的“副配置”,只要满足个人所需的最基本的便利功能特性就好,注重其长期稳定性。

不知道有没有朋友和我有过类似想法? 也非常欢迎在这里分享你的“副配置”。

1 个赞

我想模块化配置的目的之一就是一个模块出错不应该影响其他模块的加载。

用git/jujutsu管理就好了,改了配置之后先不commit,直接重启emacs,出错了在git/jujutsu里discard当前变更就好

2 个赞

有的!我昨天刚好做了差不多的东西。

我前段时间发现 nix 有一个小技巧,因为它也兼职构建系统,所以可以动态的构建“包装器”。简单来说就是把一个提前设置环境变量和flags的脚本打包成可执行文件,然后就可以自动的指向/nix/store中的配置。基于这个功能,理论上可以同时打包和安装好几个emacs配置。“主配置”反而成了临时的测试配置。不过这个技巧我目前还没有想出来特别有用的地方,最大的好处可能是不需要链接到家目录。

可以看看我的配置文件:

1 个赞

这一般叫做最小化配置吧,副配置这名字听着就感觉复杂,我把主配置文件注释掉几行,在开一个emacs就是最小化配置了

1 个赞

我 pdump 的就是主配置出错时用的稳定配置,已经包括了必用的包和对应调整。配置文件出问题也是先 fallback 到 pdump 过的功能。

2 个赞

默认配置也没那么难用,你玩一段时间就适应了。反正现在org也是内建的包,不影响搞文学编程启动。

怕的是内建包也出问题,所以我本地会有一个不clean的emacs源码构建,出了问题可以先用这个emacs。

2 个赞

临时只要加载个ivy/vertico补全系统,就很好用的,修复配置用用够了。

我的副配置就是 VIM,挂了它就登场了

1 个赞

我会跑个emacsclient用来改配置

我用Nix管理Emacs配置,主打一个可复现,配置文件完全不在home目录,而在/nix/store/中(

改了以后不提交,跑下,如果有问题又不能恢复,就rollback,如果小问题,拿vscode调整下。。。

符合自己的最小化配置,快速启动,可临时用来调试。

4 个赞

可以直接emacs -Q 或者jed之类的哈哈哈哈 还有一个叫nano.el的东西

我感觉大部分情况都不重启,直接 C-x C-e 或者 eval-buffer 就开始用了,碰到问题也可以当场解决,解决不了(比如按任何键都报错)才重启。根本启动不起来的情况就更少了,真碰到就 emacs -Q 把有问题的代码删掉就行。不符合习惯也无所谓,反正就1分钟……

窝把两份配置写在org里,tangle出一份主配置和一份mini配置,mini是主配置的子集,不用任何包管理,需要debug的时候用mini配置打开org配置二分法注释掉主配置的模块

哇,你还写过mini配置啊,直接抱走,当个plan B