flyspell 的机制好象是在保存的时候就会触发拼写检查,如果同时也开了自动保存,就会造成输入内容时比较卡顿。关闭flyspell 后明显流畅了。不知道有没有人这两个一起用的?
比如:打开一个100 多行的.clang-format
文件就没法正常输入字母了。
而 flycheck 的更改机制默认是:
(save idle-change new-line mode-enabled)
我目前的设置是:
(add-hook 'prog-mode-hook 'flyspell-prog-mode)
自动保存使用的是猫哥写auto-save
保存间隔大概是1s钟。
系统:Windows 10
Emacs:28.0.50 native comp
1 个赞
搜一下wucuo,大幅性能改善。更多自由。兼容flyspell
1 个赞
刚用了大佬的wucuo,非常满意。没了flyspell的卡顿,也没有spell-fu的抽风,跟auto-save融合很好。
最近发现造成卡顿的最重要因素不是flyspell,而是 flycheck。
特别是在 Windows 系统上,flycheck 比较慢。比如说我在 C++ mode 下使用的是 Clang 和 cppcheck,语法检查的时间目测超过了1s,如果正在flycheck的时候,又执行了 auto-save,这时移动光标卡顿就很正常了。
解决方法,将自动保存的时间间隔提高到1.5s 或者2 s:
(setq auto-save-idle 1.5)
对于flycheck,每次保存都检查这个事件似乎没什么必要,可以直接去掉:
(with-eval-after-load 'flycheck
(setq flycheck-check-syntax-automatically '(idle-change new-line mode-enabled)))
1 个赞
两个都会有性能问题。我正在开发lazyflymake取代flycheck
1 个赞
期待你的Lazyflymake,这个两个包的性能问题主要也是在Windows 平台上比较严重和突出。
禁用flymake和flycheck吧,两个包都很烦,影响写代码。
这也是个不错的方法。
直接关闭了flycheck,界面也干净 。写完再开出来检查一次。