2010-07-23 13 views
17

He instalado el complemento Syntastic en vim. No puedo conseguir que funcione. Lo intenté :SyntasticEnable pero no tuve suerte. SyntasticEnable python in my vimrc tampoco funciona (de hecho, ni siquiera analiza el comando, se muestra un error cuando intento agregarlo a mi .vimrc: Not an editor command: SyntasticEnable python).No se puede obtener el complemento vim "Syntastic" para que funcione

¿Cómo puedo saber qué está pasando? Syntastic no muestra errores cuando lo llamo desde vim. ¿El primer error (not and editor command en mi .vimrc) indica algo que desconozco?

tengo en mi .vimrc:

set statusline+=%#warningmsg# 
set statusline+=%{SyntasticStatuslineFlag()} 
set statusline+=%* 
let g:syntastic_enable_signs=1 
let g:syntastic_auto_loc_list=1 

Tengo un python.vim en ~/.vim/syntax_checkers también. Ya puedo usar Pyflakes para archivos python, funciona GREAT pero me gustaría tener la funcionalidad Syntastic en otros archivos/extensiones que necesito al desarrollar aplicaciones.

Respuesta

5

¿Está pyflakes en la ruta de su entorno? Si no es así, debe agregarlo a su ruta o modificar la sintaxis \ checkers \ python.vim y agregar la ruta completa al binario. Hay dos líneas que hay que modificar:

if !(executable("pyflakes")) 

y también

let makeprg = 'pyflakes %' 

En mi caso. Quería que Syntastic trabajara con PHP en mi máquina con Windows. Así que tuve que modificar esas dos líneas similares en php.vim ser:

let s:php_executable = "C:\\Uniserver\\usr\\local\\php\\php.exe" 
if !(executable(s:php_executable)) 

y

let makeprg = php_executable . " -l %" 

Si la ruta contiene espacios, que tendrá que rodearlos con comillas dobles en la variable makeprg. También con html.vim, las comillas simples en makeprg deben reemplazarse con comillas dobles, (tendrá que volver a escapar todo dentro).

let s:libfolder = "C:\\Program Files (x86)\\GnuWin32\\bin\\" 
let s:tidyexe = s:libfolder . "tidy.exe" 
let s:grepexe = s:libfolder . "grep.exe" 
if !executable(s:tidyexe) || !executable(s:grepexe) 

y

let makeprg="\"".s:tidyexe."\" -e % 2>&1 \\| \"".s:grepexe."\" -v \"\<table\> lacks \\\"summary\\\" attribute\"" 
+0

estoy usando Linux, no se supone que funciona fuera de la caja? ¿Intentó utilizar "SyntasticEnable" en su .vimrc y verifica si obtiene el mismo error que yo? –

+0

Debería funcionar "out of the box" si ejecuta pyflakes sin una ruta explícita, es decir, solo escriba "pyflakes myfile" en la terminal.(No uso SyntasticEnable en mi archivo _vimrc porque recibe el mismo error que usted). ¿Qué tipo de archivo está usando syntastic para verificar? Es posible que no tenga los archivos binarios necesarios, es decir, HTML requiere orden y Javascript requiere jsl. – James

+0

pyflakes está funcionando, estoy teniendo problemas con syntastic. Voy a buscar los binarios que dices. ¡Gracias! –

1

Ha intentado asegurarse de Vim tiene el valor correcto para establecer $ PATH?

:echo $PATH 

Si no es así, trate de poner esto en su .vimrc:

let $PATH=substitute(system("echo \$PATH"), "\r\*\n", "", "g") 

A continuación, apagar y reiniciar vim. Si funciona, no tendrá que actualizar manualmente los archivos fuente del complemento para incluir manualmente la ruta a los ejecutables.

(encontraron esta vía: https://superuser.com/questions/380535/getting-man-path-through-vim)

Cuestiones relacionadas