有没有办法让flymake只在我保存时编译

时间:2011-05-24 12:50:00

标签: xemacs flymake

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

我想知道是否有办法告诉flymake每次更改内容时都不进行解析和编译,只需在保存时执行。

还有其他建议吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

您可以通过将其放在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可能对我有所帮助,而不仅仅是完全关闭它。