2012-03-15 92 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