5

以下は、init.elFlymake に関連する私のスニペットです。

(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

しかし、毎回 Ifind-fileまたはrevert-buffer(extensions .xml, .php, .html) 次のエラーが発生します ( ではありません.py):

Flymake: 構文チェック プロセス 'php' を引数で起動できませんでした (-f _posteddata_flymake.php -l): プログラムを検索しています: 許可が拒否されました、php. Flymake がオフになります

また

Flymake: 構文チェック プロセス 'xml' を引数 (val //path/to/file/config/prod-conf_flymake.xml) で起動できませんでした: プログラムを検索しています: 許可が拒否されました、xml. Flymake がオフになります

私もやってみまし(load "flymake" nil)たが、どちらもうまくいきませんでした。

ファイルの大きな塊を開いたりリロードしたりするときの大きな時間の浪費。

どうすれば修正できますか?

4

2 に答える 2

3

Flymake を に追加しないでくださいfind-file-hook。代わりに、メジャーモードのフックに追加するだけで、使用したいと思います.

グローバルに有効化する方が安全で、より多くの言語をサポートし、カスタマイズの必要性がはるかに少ない代替のFlycheckパッケージも検討することをお勧めします。免責事項: 私はこのパッケージの作成者です。

于 2013-12-26T18:48:39.693 に答える