2010-09-23 18 views
12

Visité el sitio web de Vim, la sección de guiones y encontré varias comprobaciones de sintaxis para Python. Pero cuál escoger ? Preferiría algo que también sea compatible con Python 3, aunque ahora código en Python 2.6.¿Qué secuencia de comandos de Vim recomienda para verificar la sintaxis de Python sobre la marcha?

¿Todas estas fichas necesitan un módulo como pychecker y pyflakes?

Pude instalar la base de datos de scripts más popular, pero pensé que primero recibiría algunas recomendaciones de lo que considera el mejor y por qué. El script tendrá que funcionar con MACOS, Windows y Ubuntu, con MACOS siendo mi principal prioridad.

En caso de que se esté preguntando, estoy buscando la comprobación de la sintaxis como la utilizada por PyDev en Eclipse IDE que subraya con una línea ondulada roja todos los errores mientras escribe.

+0

Además, si le gusta Vim y usa mucho Python, puede encontrar que [vimpdb] (http://github.com/gotcha/vimpdb) sea útil algunas veces. Aquí hay una [captura de pantalla] (http://aatiis.me/media/images/random/vimpdb.png) también. –

Respuesta

7

Uso el PyFlakes vim script, y estoy bastante satisfecho con él. Además, si desea verificar PEP8, intente this script.

+0

gracias, probaré esos dos. – Kilon

+0

A partir de esta nota, _ "pyflakes-vim está oficialmente obsoleto!" _ – xtian

0

Si se muestran o no líneas rojas onduladas está relacionado con el tema que está utilizando, no con el corrector de sintaxis o el idioma. Siempre y cuando su archivo de sintaxis (tratar http://www.vim.org/scripts/script.php?script_id=790) comprobaciones de errores, puede mostrar los errores con algo como:

:hi Error   guifg=#ff0000 gui=undercurl 
+0

el vim (7.3) que estoy usando ya tiene el python.vim dentro de la carpeta de sintaxis (también he descargado e instalado el python3.0.vim), pero todavía no muestra errores, intenté su comando nuevamente, no aparece errores Mi punto no era si la línea es roja, morada, ondulada o recta, pero si puedo ver los errores mientras escribo subrayado, resaltado o de cualquier forma que llame mi atención. ¿Hay algún comando especial para habilitar la verificación de sintaxis? Estoy hablando de la sintaxis de Python aquí, no de la sintaxis de vim. – Kilon

+0

Ah, lo siento, lo malentendí. Su mejor opción es combinar el comando de resaltado anterior con algo como pyflakes.vim y el módulo pyflakes. No estoy seguro de otra manera. – sleepynate

+0

Oh, veo, que eres muy amigo de tu respuesta, intentaré seguir tu consejo. – Kilon

6

Estoy usando Syntastic plugin. Está funcionando bien hasta ahora. Lo uso en lugar de solo pyflakes (Syntastic usa Pyflakes) porque al hacer el desarrollo de Python, desarrollo para la web, así que necesito editar Javascript y bien y tener una validación sobre la marcha para varios idiomas es una ventaja.

+0

Creo que Syntastic usa pylint. – Jabba

+1

@Jabba puede elegir qué corrector de sintaxis puede usar, desde pyflakes a pylint a flake8. Hoy en día estoy usando flake8. –

3

Esta pregunta se realizó en 2010, pero a partir de ahora, tiene una solución simple.
Después del lanzamiento de Vim 8 en septiembre de 2016, que admite soporte de E/S asincrónicas, puede usar Asynchronous Lint Engine.
Es compatible con la mayoría de los principales idiomas, y por supuesto tiene que instalar el linter usted mismo o no funcionará.
Tenga en cuenta que entra en conflicto con syntastic, por lo que será mejor que lo deshabilite o lo elimine si lo tiene instalado.

Cuestiones relacionadas