Es besteht kein Zweifel, dass Vim ein leistungsfähiger Programmiereditor ist, der sofort einsatzbereit ist, aber es sind die Plugins des Editors, die Ihnen helfen, das Beste daraus zu machen. Im ersten Teil dieser Artikelserie haben wir einige programmierbezogene Vim-Plug-ins (Tagbar und delimitMate) besprochen. Um den gleichen Weg fortzusetzen, werden wir in diesem Artikel ein weiteres nützliches Vim-Plug-in diskutieren, das sich an Softwareentwickler richtet – Syntastic .
Bitte beachten Sie, dass alle in diesem Tutorial erwähnten Beispiele, Befehle und Anweisungen auf Ubuntu 16.04 getestet wurden und die von uns verwendete Vim-Version 7.4 ist.
Syntastisch
Wenn Ihre Softwareentwicklungsarbeit das Arbeiten mit Sprachen wie C und C++ umfasst, ist es unnötig zu erwähnen, dass das Beheben von Kompilierzeitfehlern Teil Ihrer täglichen Arbeit wäre. Häufig treten Kompilierungsfehler aufgrund falscher Syntax im Quellcode auf, da Entwickler sie nicht beachten, während sie sich nur den Code ansehen.
Was ist, wenn ich Ihnen sage, dass es ein Vim-Plugin gibt, das Informationen über Syntaxfehler liefert, ohne dass Sie Ihren Code kompilieren müssen? Ja, ein solches Plugin existiert und sein Name ist Syntastic.
„Syntastic ist ein Plugin zur Syntaxprüfung für Vim, das Dateien durch externe Syntaxprüfer laufen lässt und dem Benutzer alle daraus resultierenden Fehler anzeigt. Dies kann bei Bedarf oder automatisch beim Speichern der Dateien erfolgen“, heißt es in der offiziellen Dokumentation des Plugins. "Wenn Syntaxfehler erkannt werden, wird der Benutzer benachrichtigt und ist glücklich, weil er seinen Code nicht kompilieren oder sein Skript ausführen musste, um sie zu finden."
Die Installation dieses Plug-ins ähnelt der Installation der im ersten Teil besprochenen Plug-ins. Sie müssen lediglich die folgenden Befehle ausführen:
cd ~/.vim/bundle/
git clone https://github.com/scrooloose/syntastic.git
Sobald das Plugin erfolgreich installiert wurde (was bedeutet, dass die obigen Befehle erfolgreich waren), müssen Sie nichts weiter tun – es wird automatisch geladen, wenn der Vim-Editor gestartet wird.
Um das Plugin zu verwenden, öffnen Sie nun eine Quellcodedatei und speichern Sie sie mit :w Vim-Befehl. Nach einer sehr kurzen Pause werden Sie feststellen, dass Syntaxfehler – sofern vorhanden – in Ihrem Code hervorgehoben werden. Der folgende Screenshot soll Ihnen beispielsweise eine Vorstellung davon geben, wie das Plugin die Fehler hervorhebt:
Das Zeichen „>>“ am Anfang einer Zeile weist darauf hin, dass es ein Problem mit dem in dieser Zeile geschriebenen Code gibt. Um genau zu wissen, was der Fehler ist, oder zumindest eine ungefähre Vorstellung davon zu bekommen, bringen Sie den Cursor zu dieser Zeile – die Fehlerbeschreibung wird am unteren Rand des Vim-Fensters angezeigt.
Auf diese Weise können Sie also die meisten syntaxbezogenen Fehler beheben, ohne den Code überhaupt zu kompilieren.
Fahren Sie fort, wenn Sie :Errors ausführen Befehl wird eine Beschreibung aller syntaxbezogenen Fehler in der aktuellen Quelldatei angezeigt. Beispiel:Ausführen von :Errors Befehl brachte in meinem Fall die folgenden Informationen:
Beachten Sie, dass die Informationen :Errors Befehlsanzeigen werden nicht automatisch aktualisiert, d. h. selbst nachdem ein Fehler behoben wurde, wird seine Beschreibung im unteren Bereich angezeigt, bis Sie :Errors ausführen Befehl erneut.
Erwähnenswert ist, dass es viele Konfigurationsoptionen gibt, die Syntastic noch benutzerfreundlicher machen. Beispielsweise können Sie die folgende Zeile in Ihre .vimrc einfügen Datei, wenn Sie :Errors möchten Befehl, seine Ausgabe jedes Mal automatisch zu aktualisieren, wenn ein Fehler behoben wird:
let g:syntastic_always_populate_loc_list = 1
Eine weitere große Einschränkung des standardmäßigen Syntastic-Verhaltens besteht darin, dass Sie :w ausführen müssen Befehl, um das Plugin dazu zu bringen, fehlerhafte Zeilen anzuzeigen - dies ist in Ordnung, während eine Datei bearbeitet wird, wird aber etwas seltsam, wenn Sie gerade eine Quelldatei geöffnet haben.
Um sicherzustellen, dass Syntastic die Fehler automatisch hervorhebt, wenn eine Datei geöffnet wird, fügen Sie die folgende Zeile zu Ihrer .vimrc hinzu Datei:
let g:syntastic_check_on_open = 1
Wenn Sie möchten, dass der Cursor beim Speichern oder Öffnen einer Datei zum ersten erkannten Problem springt, fügen Sie die folgende Zeile in Ihre .vimrc-Datei ein:
let g:syntastic_auto_jump = 1
Es gibt zwei weitere Werte, die Sie der oben genannten Variablen zuweisen können:2 und 3. Hier ist, was die offizielle Dokumentation über diese beiden Werte sagt:
„Wenn auf 2 gesetzt, springt der Cursor zum ersten erkannten Problem, aber nur, wenn dieses Problem ein Fehler ist“ und „Wenn auf 3 gesetzt, springt der Cursor zum ersten erkannten Fehler, falls vorhanden. Wenn alle erkannten Probleme Warnungen sind , springt der Cursor nicht."
Die folgenden Informationen sollten Ihnen auch nützlich sein:
"Verwenden Sie :SyntasticCheck um manuell nach Fehlern zu suchen. "Verwenden Sie :Errors um das Standortlistenfenster zu öffnen, und :lclose um es zu schließen. Sie können die Fehlerliste mit :SyntasticReset löschen , und Sie können :SyntasticToggleMode verwenden um zwischen aktiver (Prüfung beim Schreiben des Puffers) und passiver (manueller) Prüfung umzuschalten."
Hinweis :Syntastic ist nicht nur auf Code beschränkt, der in C und C++ geschrieben wurde. Es unterstützt auch eine riesige Liste anderer Programmiersprachen. Hier erfahren Sie mehr darüber.
Schlussfolgerung
Zweifellos ist Syntastic ein sehr nützliches Vim-Plug-in, da es Ihnen den Ärger der häufigen Kompilierung erspart, zumindest wenn es um syntaxbezogene Fehler geht. Und ganz zu schweigen davon, dass auch viel Zeit gespart wird.
Wie Sie bemerkt haben, wird Syntastic noch nützlicher, sobald Sie einige seiner Hauptoptionen konfiguriert haben. Um Ihnen den Einstieg zu erleichtern, enthält die offizielle Dokumentation einen Abschnitt „Empfohlene Einstellungen“ – gehen Sie diesen durch. Es gibt auch einen netten kleinen FAQ-Bereich, falls Sie auf Fehler stoßen oder Zweifel oder Fragen haben.