2013-10-06 3 views
7

Ich habe Python-Modus in VIM installiert. Aber ich habe auch Synthastic installiert. Da beide eine Syntaxprüfung durchführen, wird es einen Konflikt geben? Wie kann ich Synthastic für Python-Dateien deaktivieren?Syntax- und Python-Modus zusammen?

Vielen Dank für jede Hilfe

Antwort

9

auf @ der abjuk Antwort zu erweitern, können Sie auf Dateierweiterung deaktivieren Basis mit:

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

nur für Dateien dies funktionieren wird, die in .py enden, though. Es funktioniert nicht für andere Dateien in denen Vim denkt, dass filetype=python. Zum Beispiel wird eine Datei, die mit einem Shebang wie #!/usr/bin/env python beginnt, Vim weiterhin in den Python-Modus versetzen.

Syntastic unterstützt auch syntastic_mode_map (siehe :h syntastic_mode_map), die die Docs anzuzeigen, sollte ermöglichen deaktivieren auf der Grundlage des Dateityps, aber ich kann es nicht zum Funktionieren bringen.

Eine weitere Option ist Syntastic aktiviert zu lassen, und deaktivieren Kontrolle python-Modus Syntax:

let g:pymode_lint = 0 

Dies ist, was ich benutze, weil ich Syntastic bevorzugen. Es löst den Konflikt, obwohl es nicht genau das ist, was Sie gefragt haben.

1

ich in Python nicht funktionieren, so kann ich Ihnen nicht sagen, ob es einen Konflikt geben, aber Sie können Syntastic für Python-Dateien deaktivieren - :h syntastic_ignore_files sehen.

+0

Okay, das klingt nach einer guten Idee. Es ist sicherer, dies zu tun, da der Python-Modus ohnehin eine Syntaxprüfung durchführen soll. Ein anderes Problem ist, dass Syntastic keine Fehler in meinem Java oder C-Code erkennt - oder wenn es das tut, ist alles Unsinn. Es markiert den korrekten Code, der als ungültig kompiliert wird und syntaktisch ungültigen Code nicht erkennt. Irgendwelche Ideen? – user798275

0

Ich verwende die folgende syntastic zu deaktivieren für Vim-Puffer (nicht syntastic Trigger auf Datei schreiben lassen), die den Dateityp Python hat:

autocmd FileType python let g:syntastic_check_on_wq = 0 

meine .vimrc sehen.

4

Dies wird im Handbuch beantwortet (siehe :help syntastic-pymode):

Syntastic kann zusammen mit der 'Python-Modus' Vim-Plugin (siehe https://github.com/klen/python-mode) verwendet werden. Sie führen jedoch beide Syntaxprüfungen standardmäßig aus, wenn Sie Puffer auf der Festplatte speichern. Dies ist wahrscheinlich nicht das, was Sie möchten. Um beiden Plugins zu vermeiden Fehler Fenster öffnen, können Sie entweder die passiven Modus für Python in syntastic (siehe syntastic_mode_map) gesetzt oder Flusen Kontrollen in 'python-Modus' deaktivieren, indem Sie pymode_lint_on_write auf 0. Beispiel:

let g:pymode_lint_on_write = 0