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
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
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ś.
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
.
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.
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 ustawieniepymode_lint_on_write
do 0. np
let g:pymode_lint_on_write = 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