从 Doom Emacs 提取出的 Auto Revert 解决方案

在 auto revert 问题上我先前一直使用的是 global-auto-revert-mode,但经常出现 revert 不及时的问题,而且当需要 revert 的 buffer 太多时一次性触发 revert,容易卡到 Emacs。在寻找其它解决方案时,发现 Doom Emacs 有一套很不错的 “lazy revert” 方案:只在特定条件触发时(例如切换 window 或者 buffer 时)revert 可见 buffer。这个做法也避免了使用定时器。把它抄到自己的配置用了一段时间后,感觉体验良好,决定单独提出来变成一个非常简单的 minor mode。

这是我第一次写包,写 Elisp 也是新手,如果有可以改进的地方也请大佬们多多指教 :pray:

8 个赞

能解释一下 auto revert 是什么吗,没用过 :smiley:

比如你在 Emacs 里开了一个文件的 buffer,然后用外部编辑器修改并保存了这个文件,auto revert 会帮助你自动更新这个 buffer 的内容。如果不使用 auto revert 并想要 buffer 内容和文件内容保持一致,那就需要手动 revert buffer。

懂了,谢谢补丁