Настройка конфигурации для плагина Vim PEP-8, чтобы игнорировать ошибки и предупреждения? - PullRequest
16 голосов
/ 15 марта 2012

Я использую этот плагин для обнаружения ошибок и предупреждений PEP-8 в Vim: http://www.vim.org/scripts/script.php?script_id=3430

Я хочу игнорировать несколько ошибок и предупреждений, таких как E501 и W601, которые даны в инструменте backend pep8: 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 ]

26 голосов
/ 25 июня 2013

Для тех, кто сталкивается с этим вопросом, и приведенный выше ответ не работает, вот некоторые решения для других плагинов 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 сработали.

12 голосов
/ 15 марта 2012

Вам необходимо установить переменную g:pep8_ignore;Вы должны положить это в свой vimrc.

let g:pep8_ignore="E501,W601"
10 голосов
/ 13 августа 2014

Перепробовав все решения 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 голосов
/ 29 апреля 2019

Если вы используете python-mode, вам нужно использовать список сейчас:

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