2012-03-15 15 views
16

estoy usando este plugin para detectar PEP-8 errores y advertencias en Vim: http://www.vim.org/scripts/script.php?script_id=3430Configuración de configuración para el complemento Vim PEP-8 para ignorar errores y advertencias?

Quiero hacer caso omiso de algunos errores y advertencias como E501 & W601 dadas en la herramienta de back-end PEP8: http://pypi.python.org/pypi/pep8

Cuando Miré el código del complemento, puedo ver que tiene soporte para esto:

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) 

Pero, ¿cómo lo uso?

Respuesta

11

Debe configurar la variable g:pep8_ignore; deberías poner esto en tu vimrc.

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

Gracias! Funcionó. – baijum

26

Para esa gente que tropieza a través de esta pregunta y la respuesta anterior no funciona, aquí hay algunas soluciones para otros plugins Vim Python:

Para Syntastic:

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

ACTUALIZACIÓN: más reciente las versiones de Syntastic usan esto en su lugar:

let g:syntastic_python_checkers=["flake8"] 

Para python-mode:

let g:pymode_lint_ignore="E501,W601" 

asegurar que estos se establecen antes de patógenos o Vundle se activan.

+0

gracias @robbrit! súper útil ... simplemente estoy encendiendo alguna configuración 'python-mode', y esto era justo lo que necesitaba – Bodhi

+1

Para aquellos que usaban python-mode, @ respuesta de robbrit,' let g: pymode_lint_ignore = "E501, W601" 'lo hacía el truco para mi La ayuda de vim pymode me condujo a otra cosa. – CivFan

+0

¡USTED ES EL HOMBRE! Gracias. ¡Esta respuesta merece la insignia para esta pregunta! –

9

Después de probar todas las soluciones de robbrit y descubrir que ninguna de ellas funcionaba para mí, leí parte de la documentación de Syntastic. Para pasar args a un corrector, necesitas saber varias cosas. La siguiente es la sintaxis del comando:

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

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

Esto significa que si se utiliza flake8, podría escribir:

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

Espero que esto ayude a alguien a evitar las edades de gasto tratando de resolver esto como lo hice.

+0

Gracias. Solo para información, asegúrese de usar 'let g: syntastic_python_checkers = [" flake8 "]' primero, como lo menciona robbrit. –

+0

Muchas gracias ... esta información debería ser más prominente – noli

+0

Gracias. Finalmente funcionó para mí. – nos

Cuestiones relacionadas