我已經在VIM中安裝了Python模式。但我也安裝了Syntastic。既然都做了語法檢查,會不會有衝突呢?我如何關閉Syntastic for Python文件?合成和Python模式在一起嗎?
感謝所有幫助
我已經在VIM中安裝了Python模式。但我也安裝了Syntastic。既然都做了語法檢查,會不會有衝突呢?我如何關閉Syntastic for Python文件?合成和Python模式在一起嗎?
感謝所有幫助
爲了擴大對@ 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。它解決了衝突,雖然它不完全是你問的。
我不蟒蛇工作,所以我不能告訴你是否會有衝突,但你可以關閉Syntastic的Python文件 - 見:h syntastic_ignore_files
。
我使用以下方法來禁用syntastic(不讓上文件的寫入syntastic觸發)那些文件類型的Python Vim的緩衝區:
autocmd FileType python let g:syntastic_check_on_wq = 0
見我.vimrc。
本手冊中被應答(參見: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
好吧,這聽起來像個好主意。這樣做比較安全,因爲無論如何Python模式應該進行語法檢查。 另一個問題是Syntastic在我的java或C代碼中沒有檢測到任何錯誤 - 或者當它發生時,這都是無稽之談。它標記編譯爲無效的正確代碼,並且不檢測語法無效的代碼。有任何想法嗎? – user798275