Vim PEP-8插件的配置设置忽略错误和警告?

时间:2012-03-15 05:08:18

标签: python vim pep8

我正在使用此插件来检测Vim中的PEP-8错误和警告: http://www.vim.org/scripts/script.php?script_id=3430

我想忽略一些错误和警告,如E501&后端pep8工具中给出的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)

但我该如何使用它?

4 个答案:

答案 0 :(得分: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之前设置这些。

答案 1 :(得分:12)

您需要设置变量g:pep8_ignore;你应该把它放在你的vimrc中。

let g:pep8_ignore="E501,W601"

答案 2 :(得分:10)

在尝试了所有robbrit的解决方案并发现它们都不适合我之后,我阅读了一些Syntastic的文档。要将args传递给检查器,您需要了解一些事情。以下是命令语法:

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"

希望这有助于有人避免花费多年时间试图像我一样解决这个问题。

答案 3 :(得分:0)

如果您使用python-mode,则需要立即使用列表:

let g:pymode_lint_ignore=["E501", "W601"]