【发布时间】:2013-12-26 07:26:13
【问题描述】:
以下是我init.el 中与 Flymake 相关的 sn-ps:
(add-hook 'python-mode-hook
(lambda ()
(unless (eq buffer-file-name nil) (flymake-mode 1)) ;dont invoke flymake on temporary buffers for the interpreter
(local-set-key [f2] 'flymake-goto-prev-error)
(local-set-key [f3] 'flymake-goto-next-error)
(local-set-key [f4] 'flymake-display-err-menu-for-current-line)
(hs-minor-mode)
(orgtbl-mode)
(outline-minor-mode -1)))
...
;;===== PyFlakes
;; code checking via pyflakes+flymake
(when (load "flymake" t)
(defun flymake-pyflakes-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "pychecker" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))
(mapcar (lambda (hook) (add-hook 'find-file-hook hook))
(list 'flymake-find-file-hook))
(unload-feature 'flymake) ; unloaded in an attempt to get rid of the error
但每次我find-file 或revert-buffer(扩展名.xml、.php、.html)我都会收到以下错误(.py 除外):
Flymake:无法使用 args (-f _posteddata_flymake.php -l) 启动语法检查进程“php”:正在搜索程序:权限被拒绝,php。 Flymake 将关闭
或
Flymake:无法使用 args 启动语法检查过程“xml”(val //path/to/file/config/prod-conf_flymake.xml):搜索程序:权限被拒绝,xml。 Flymake 将关闭
我也尝试过(load "flymake" nil),但也没有用。
打开或重新加载大量文件时会耗费大量时间。
我该如何解决?
【问题讨论】:
-
不是真正的解决方案,但试试flycheck。这是一款开箱即用的flymake,适用于大多数语言和配置,而且不会很糟糕。
-
顺便说一句,
(load "flymake" nil)并没有按照您的想法执行,即卸载库。那是unload-feature,但是库需要明确支持卸载,而 Flymake 不需要。 -
今天遇到了这个问题:如果您使用某种会话管理包,例如,删除您的
.emacs对flymake的任何和所有引用可能还不够。desktop.el。一定要杀死那个状态,例如重新加载缓冲区