doomemacs 如何禁用evil

我已经在 $DOOMDIR/package.el里面添加了(package! evil :disable t) 然后 命令行执行 doom sync ,重启emacs后报错: Warning (initialization): An error occurred while loading ‘/home/jmj/.config/emacs/.local/etc/@/init.29.elc’:

Error in a Doom module: /home/jmj/.config/emacs/modules/editor/evil/config.el, (void-function evil-define-key*)

To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the ‘–debug-init’ option to view a complete error backtrace.

不能这么禁用doom核心的模块。 要整个禁用evil,需要在$DOOMDIR下,找到init.el的这一行。

具体参照 doomemacs/templates/init.example.el at master · doomemacs/doomemacs (github.com)

使用;; (evil +everywhere)注释该行,

然后在bin目录./doom sync,完成同步后,emacs这边不重启的话,使用M-x doom/reload,重启则不用doom/reload操作

2 个赞

我没删除 config.el 里面的 (package! evil :disable t) 同时 也按照你的方案 注释了那一行,ok了

当整个evil module被禁用,就不会加载evil包,所以config.el只是重复了一遍不要加载evil

请参考 doomemacs/modules/editor/evil/packages.el at master · doomemacs/doomemacs (github.com)

他是从上述package.el加载的包,禁用模块后,doom-load不会访问editor/evil这个模块的代码