2012-03-15 53 views
16

我使用這個插件檢測Vim的PEP-8的錯誤和警告: http://www.vim.org/scripts/script.php?script_id=3430Vim PEP-8插件的配置設置忽略錯誤和警告?

我想忽略後端PEP8工具提供一些錯誤和警告信息,如E501 & W601: http://pypi.python.org/pypi/pep8

當我看着插件代碼,我可以看到它支持這個功能:

from pep8checker import Pep8Checker 

args = vim.eval('string(g:pep8_args)') 
select = vim.eval('string(g:pep8_select)') 
ignore = vim.eval('string(g:pep8_ignore)') 

if select: 
    args = args + ' --select=%s' % select 

if ignore: 
    args = args + ' --ignore=%s' % ignore 

pep8_checker = Pep8Checker(cmd, args) 

但是我怎麼使用它?

回答

11

您需要設置變量g:pep8_ignore;你應該把它放在你的vimrc中。

let g:pep8_ignore="E501,W601" 
+0

謝謝!有效。 – baijum 2012-03-15 12:27:06

26

對於那些過這個問題跌跌上面的回答不工作的鄉親,這裏是爲其他的Vim的Python插件的一些解決方案:

對於Syntastic

let g:syntastic_python_checker="flake8" 
let g:syntastic_python_checker_args="--ignore=E501,W601" 

更新:更新Syntastic公司的版本改爲使用它:

let g:syntastic_python_checkers=["flake8"] 

對於python-mode

let g:pymode_lint_ignore="E501,W601" 

確保在觸發Pathogen或Vundle之前設置它們。

+0

謝謝@robbrit!超級有用......我只是啓動了一些'python-mode'配置,這正是我所需要的 – Bodhi 2016-01-08 19:28:23

+1

對於那些使用python-mode的人,@ robbrit的回答是:let g:pymode_lint_ignore =「E501,W601」我的詭計。 vim pymode的幫助讓我走向別的東西。 – CivFan 2016-04-19 23:14:08

+0

你是人!謝謝。這個答案值得這個問題的徽章! – 2016-12-30 09:07:03

9

在嘗試了所有robbrit的解決方案並發現它們中沒有一個適用於我之後,我閱讀了Syntastic的一些文檔。要將參數傳遞給檢查器,您需要知道幾件事情。以下是命令語法:

let g:syntastic_python_checkers=["<checker_type>"] 

let g:syntastic_<filetype>_<checker_name>_args="--ignore=E501,W601,..." 

這意味着,如果你使用flake8,你可以這樣寫:

let g:syntastic_python_checkers=["flake8"] 
let g:syntastic_python_flake8_args="--ignore=E501,W601" 

希望這可以幫助別人避免花年齡試圖像我一樣摸不着頭腦。

+0

謝謝。僅供參考,請務必首先使用'let g:syntastic_python_checkers = [「flake8」],正如robbrit所述。 – 2015-09-08 12:01:17

+0

非常感謝..這個信息應該更加突出 – noli 2015-11-27 15:20:41

+0

謝謝。它終於爲我工作。 – nos 2017-07-21 16:34:22