2013-10-06 12 views
7

Mam zainstalowany tryb Pythona w VIM. Ale mam również zainstalowany Syntastic. Ponieważ obie metody sprawdzania składni, czy będzie konflikt? Jak wyłączyć syntaktyczne pliki Pythona?Tryb syntaktyczny i Python razem?

Dzięki za wszelką pomoc

Odpowiedz

9

Aby rozwinąć na odpowiedź użytkownika @ abjuk można wyłączyć na podstawie rozszerzenia pliku z:

let g:syntastic_ignore_files = ['\.py$'] 

to będzie działać tylko dla plików, które kończą się .py, choć. Nie będzie działać dla innych plików, w których Vim myśli, że filetype=python. Na przykład plik zaczynający się od shebangu takiego jak #!/usr/bin/env python nadal będzie wprowadzał Vima do trybu Pythona.

Syntastic obsługuje także syntastic_mode_map (patrz :h syntastic_mode_map), które, jak się wydaje, wskazuje na to, że dokumenty powinny zezwalać na wyłączanie na podstawie typu pliku, ale nie mogę go uruchomić.

Inną opcją jest pozostawienie włączone Syntastic i wyłącz python-Mode sprawdzanie składni:

let g:pymode_lint = 0 

To co używam, bo wolę Syntastic. Rozwiązuje konflikt, chociaż nie jest to dokładnie to, o co prosiłeś.

1

Nie pracuję w Pythonie, więc nie mogę powiedzieć, czy będzie to konflikt, ale można wyłączyć Syntastic plików python - zobacz :h syntastic_ignore_files.

+0

Okej, to brzmi jak dobry pomysł. Bezpieczniej jest to zrobić, ponieważ tryb Python powinien i tak sprawdzać składnię. Kolejną kwestią jest to, że Syntastic nie wykrywa żadnych błędów w moim kodzie java lub C - lub kiedy to robi, to wszystko nonsens. Oznacza poprawny kod, który jest kompilowany jako nieprawidłowy i nie wykrywa składniowo nieprawidłowego kodu. Jakieś pomysły? – user798275

0

używam następuje wyłączenie syntastic (nie pozwól syntastic spust zapisu pliku) do buforów Vima które pytona filetype:

autocmd FileType python let g:syntastic_check_on_wq = 0 

Zobacz moją .vimrc.

4

to zostanie odebrane w instrukcji (patrz :help syntastic-pymode):

Syntastic może być stosowany wraz z 'python-mode' wtyczki Vima (patrz https://github.com/klen/python-mode). Jednak oba uruchamiają sprawdzanie składni domyślnie, gdy zapisujesz bufory na dysku, a to prawdopodobnie nie jest to, czego potrzebujesz. Aby uniknąć obu wtyczek otwieranie okien o błędach, można ustawić tryb pasywny dla Pythona w syntastic (zob syntastic_mode_map) lub wyłączyć sprawdzanie lint w „python-mode”, poprzez ustawienie pymode_lint_on_write do 0. np

let g:pymode_lint_on_write = 0