18

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

我想忽略后端 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)

但我该如何使用它?

4

4 回答 4

30

对于那些偶然发现这个问题并且上面的答案不起作用的人,这里有一些其他 Vim Python 插件的解决方案:

对于合成

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

更新:较新版本的 Syntastic 使用它来代替:

let g:syntastic_python_checkers=["flake8"]

对于python 模式

let g:pymode_lint_ignore="E501,W601"

确保在触发 Pathogen 或 Vundle 之前设置这些。

于 2013-06-25T14:08:47.527 回答
12

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

let g:pep8_ignore="E501,W601"
于 2012-03-15T10:10:33.903 回答
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"

希望这可以帮助某人避免像我一样花费很长时间试图弄清楚这一点。

于 2014-08-12T20:44:09.737 回答
1

如果你使用python-mode你现在需要使用列表:

let g:pymode_lint_ignore=["E501", "W601"]
于 2019-04-29T08:13:47.557 回答