2013-10-06 29 views

回答

9

爲了擴大對@ abjuk的回答,您可以禁用基於與文件擴展名:

let g:syntastic_ignore_files = ['\.py$'] 

這將僅適用於在.py結尾的文件工作,雖然。它不適用於Vim認爲filetype=python的其他文件。例如,以像#!/usr/bin/env python這樣的shebang開頭的文件仍然會將Vim置於python模式。

Syntastic還支持syntastic_mode_map(請參閱:h syntastic_mode_map),文檔似乎表示應允許基於文件類型禁用,但我無法使其工作。

另一種選擇是離開啓用Syntastic,並禁用蟒蛇模式的語法檢查:

let g:pymode_lint = 0 

這是我用的,因爲我喜歡Syntastic。它解決了衝突,雖然它不完全是你問的。

1

我不蟒蛇工作,所以我不能告訴你是否會有衝突,但你可以關閉Syntastic的Python文件 - 見:h syntastic_ignore_files

+0

好吧,這聽起來像個好主意。這樣做比較安全,因爲無論如何Python模式應該進行語法檢查。 另一個問題是Syntastic在我的java或C代碼中沒有檢測到任何錯誤 - 或者當它發生時,這都是無稽之談。它標記編譯爲無效的正確代碼,並且不檢測語法無效的代碼。有任何想法嗎? – user798275

0

我使用以下方法來禁用syntastic(不讓上文件的寫入syntastic觸發)那些文件類型的Python Vim的緩衝區:

autocmd FileType python let g:syntastic_check_on_wq = 0 

見我.vimrc

4

本手冊中被應答(參見:help syntastic-pymode):

Syntastic可以用 '蟒模式' 的Vim插件一起使用(參見https://github.com/klen/python-mode)。但是,當您將緩衝區保存到磁盤時,它們都默認運行語法檢查,而這可能不是您想要的。爲了避免打開錯誤窗口二者插件,既可以設置被動模式用於syntastic(見syntastic_mode_map),或在「蟒模式」禁用皮棉檢查蟒,通過設定pymode_lint_on_write爲0。例如:

let g:pymode_lint_on_write = 0 
相關問題