centaur emacs会自动把行尾的空格给清除掉

最近再公司写Lua,用的lsp + lua-mode 最近发现保存的时候,总是会把同事丢下来的行尾空格给清掉。 老大说这样不好看我的代码改了啥,让我不要这样。 想请教一下有没有办法保存的时候不要清掉空格。

https://github.com/seagle0128/.emacs.d/blob/aae3e3b0413c1e83df19ae5a4b1e6a7c98c74f72/lisp/init-basic.el#L171

(remove-hook 'before-save-hook 'delete-trailing-whitespace t)

(defun lua-mode-disable-trailing-whitespace() (remove-hook 'before-save-hook 'delete-trailing-whitespace t)) (add-hook 'lua-mode-hook 'lua-mode-disable-trailing-whitespace) 这样就得了,要给lua-mode定义

可以反向解决,git commit hook 设置自动格式化,这样你同事提交时就自动清除空格了。

2 个赞

我在保存的时候不会对内容做任何修改,因为我idle 1秒自动保存,要是保存自动修改,写了两句保存了又改掉了就爆炸了

要开启自动保存就用 ws-butler 来自动清除空格吧,它会保留虚空格,实际上空格已经被清除了,但用户是看不出来的。

1 个赞

去掉 t 应该就是全局的了,如果你不喜欢的话