2010-07-23 14 views
17

Zainstalowałem wtyczkę Syntastic w vim. Nie mogę zmusić go do działania. Próbowałem już :SyntasticEnable, ale bez powodzenia. SyntasticEnable python in my vimrc również nie działa (w rzeczywistości nie analizuje nawet polecenia, błąd jest wyświetlany, gdy próbuję dodać go do mojego .vimrc: Not an editor command: SyntasticEnable python).Nie można pobrać wtyczki "Syntastic" vim do pracy

Skąd mogę wiedzieć, co się dzieje? Syntastic nie pokazuje błędów, gdy wywołuję go z vima. Czy pierwszy błąd (not and editor command w moim .vimrc) wskazuje na coś, czego nie jestem świadomy?

mam w moim .vimrc:

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

mam python.vim w ~/.vim/syntax_checkers również. Mogę już używać Pyflakes dla plików Pythona, działa GREAT, ale chciałbym mieć funkcję Syntastic w innych plikach/rozszerzeniach, których potrzebuję przy tworzeniu aplikacji.

Odpowiedz

5

Czy pyflakes jest na ścieżce środowiska? Jeśli nie jest, musisz dodać go do swojej ścieżki lub zmodyfikować składnię \ checkers \ python.vim i dodać pełną ścieżkę do pliku binarnego. Istnieją dwie linie trzeba zmodyfikować:

if !(executable("pyflakes")) 

a także

let makeprg = 'pyflakes %' 

W moim przypadku. Chciałem, aby Syntastic działał z PHP na moim komputerze z Windows. Więc musiałem zmodyfikować te dwa podobne linie w php.vim być:

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

i

let makeprg = php_executable . " -l %" 

Jeśli ścieżka zawiera spacje, musisz otoczyć je w cudzysłowach w zmiennej makeprg. Również w html.vim pojedyncze cudzysłowy w makeprg muszą zostać zastąpione podwójnymi cudzysłowami (będziesz musiał uciekać od wszystkiego w środku).

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) 

i

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

używam Linuksa, nie ma działać out-of-box? Czy próbowałeś użyć "SyntasticEnable" w .vimrc i sprawdź czy otrzymujesz ten sam błąd co ja? –

+0

Powinien działać "od razu po uruchomieniu", jeśli używasz pyflakes bez jawnej ścieżki, to znaczy po prostu wpisz "pirflakes myfile" w terminalu.(Nie używam SyntasticEnable w moim pliku _vimrc, ponieważ powoduje to ten sam błąd co ty.) Jakiego typu pliku używasz do sprawdzania syntastycznego? Możliwe, że nie masz wymaganych plików binarnych, tzn. HTML wymaga uporządkowania, a JavaScript wymaga jsl. – James

+0

pyflakes działa, mam problemy ze składnią. Zamierzam poszukać plików binarnych, o których mówisz. Dzięki! –

1

Czy chciał upewnić Vim ma właściwą wartość ustawioną na $ PATH?

:echo $PATH 

Jeśli nie, spróbuj umieścić to w swoim .vimrc:

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

Następnie zamknięcie i ponowne uruchomienie vim. Jeśli to działa, nie musisz ręcznie aktualizować plików źródłowych wtyczki, aby ręcznie dodać ścieżkę do plików wykonywalnych.

(znaleziono go poprzez: https://superuser.com/questions/380535/getting-man-path-through-vim)

Powiązane problemy