怎么在 Doom 中禁用 doom/backward-kill-to-bol-and-indent(保存时删除尾部空格) 并改成 buffer 失焦时触发

自己已经在 Doom 中使用了懒猫的 auto-save

但是使用一下就发现 Doom 会默认有 doom/backward-kill-to-bol-and-indent

查到应该是 Doom enables ws-butler-global-mode by default触发(保存时删除尾部空格)

当我打字反应慢一些的时候(比如打中文)

就会触发 auto-save 然而 它又触发(保存时删除尾部空格)

这时候就有些难受了

所以我想

在 Doom 中禁用 doom/backward-kill-to-bol-and-indent ws-butler-global-mode (保存时删除尾部空格) 并改成 buffer 失焦时触发

所以来问一下

写一个 doom/backward-kill-to-bol-and-indent 的建议,让这个函数啥都不干就行了,既不改doom,又实现你的目的,从根上搞定

我用 switch-buffer-functions-el+delete-trailing-whitespace 简单的实现下

(add-hook 'switch-buffer-functions
          (lambda (prev curr)
            (cl-assert (eq curr (current-buffer)))  ;; Always t
            (delete-trailing-whitespace)))

有点强迫症了

doom 禁用这个 ws-butler-global-mode 真难,我直接把包全给禁了

(package! ws-butler :disable t)

印象中这个问题doom 里面的 faq 里面有提到过,我是这么解决的

  (remove-hook 'doom-first-buffer-hook #'ws-butler-global-mode)

在 FAQ 中没有看到有禁用的代码