当我键入flymake时,会使光标挂起一点。有点烦人。

我想知道是否有一种方法可以告诉flymake每次更改内容时都不要解析和编译,而是在保存时执行。

还有其他建议吗?

谢谢,

最佳答案

您可以通过将它放入flymake-after-change-function.emacs文件中来覆盖flymake.el中的init.el:

(eval-after-load "flymake"
  '(progn
    (defun flymake-after-change-function (start stop len)
      "Start syntax check for current buffer if it isn't already running."
      ;; Do nothing, don't want to run checks until I save.
      )))

在保存和初始加载文件时,仍然会进行语法检查,如果您不喜欢在加载文件时进行初始语法检查,则应该能够(我尚未测试过此部分)将其打开关闭:
(setq flymake-start-syntax-check-on-find-file nil)

编辑:与您的问题没有直接关系,但是如果只是滞后是一个问题,则可能会有所帮助,您可以使用以下命令调整在空闲之前应该空闲的时间:
;; Only run flymake if I've not been typing for 5 seconds
(setq flymake-no-changes-timeout 5)

默认值为0.5秒,因此像我这样将其更改为5可能比完全关闭它更有用。

09-30 18:55