5 unverzichtbare Vim-Plug-ins, die deinen Workflow auf den Kopf stellen
Lesezeit: 5 Minuten
Echte Fans des beliebten Texteditors Vim schätzen vor allem, dass er endlos erweiterbar ist. Zusätzlich zu den Funktionen zum Konfigurieren grundlegender Zuordnungen, Einstellungen und Verhaltensweisen in .vimrc gibt es massenweise sensationelle Plug-ins, die die Funktionalität von Vim erweitern. Vim ist bereits seit über 7 Jahren mein favorisierter Editor, daher teile ich im Folgenden das, was meiner Meinung nach jeder Vim-Nutzer wissen sollte.
Installieren und Verwalten von Plug-ins
Bevor wir uns mit den Plug-ins befassen, muss Vim natürlich erst einmal korrekt installiert und verwaltet werden. Hier führen viele Wege nach Rom.
Nativer Paket-Support in Vim 8
Ab der Version Vim 8 bietet Vim einen integrierten Support für Pakete, die wir für die Installation der Pakete verwenden können. In diesem Post verlinke ich ein GitHub-Repository für jedes einzelne von mir vorgestellte Plug-in. Mit Vim 8-Paketen kannst du die meisten dieser Pakete klonen, um sie hinzufügen.
Vim betrachtet jedes Verzeichnis unter ~/.vim/pack
als Paket. Diese Pakete können ein start
-Verzeichnis haben, in dem Plug-ins beim Start geladen werden, und ein opt
-Verzeichnis mit Plug-ins, die über den Befehl :packadd
manuell geladen werden müssen.
Bei den meisten Plug-ins können wir mit git clone
deren Repository direkt in ~/.vim/pack/start
oder ~/.vim/pack/opt
klonen, um sie hinzuzufügen. Du kannst auch Sub-Module von Git zur Verwaltung verwenden, wie in diesem Blogpost beschrieben.
Verwenden von Plugin Managern wie Vundle
Es gibt auch automatisierte Plug-in-Manager für Vim, wie Vundle oder vim-plug, die von der Community entwickelt wurden. Wir brauchen diese für ältere Versionen von Vim, aber selbst für Vim 8-Nutzer sind sie hilfreich, da sie zusätzliche Funktionen bereitstellen und uns das Leben erleichtern, wenn wir viele Plug-ins nutzen.
In den letzten Jahren habe ich Vundle oft genutzt, sehen wir uns also an, wie es eingerichtet wird. Betrachte es als Ausgangspunkt in der Reihe genialer Vim-Plug-ins, mit denen wir uns in diesem Post befassen.
Vundle setzt voraus, dass Git auf deinem Rechner installiert und funktionstüchtig ist. Für alle Windows-Nutzer schrieben die Betreiber eine detaillierte Anweisung für die Installation unter Windows. Führe auf Unix-basierten Systemen den folgenden Befehl zur Installation aus:
Füge dann die folgenden Zeilen zu .vimrc
hinzu:
Du kannst Plug-ins installieren, indem du Vim startest und :PluginInstall
ausführst. Wenn du die Installation von Vundle in .vimrc
automatisieren möchtest, z. B. bei der Einrichtung auf einem neuen Rechner, fügst du ein Skript hinzu, das dem in diesem Blogpost ähnelt:
Damit wird Vundle automatisch installiert und alle Plug-ins werden beim Ausführen von Vim eingerichtet. Aber nun zum guten Zeug!
Syntastic
Syntastic ist ein syntaxüberprüfendes Plug-in für Vim, das Dateien über externe Syntax-Checker ausführt und sich daraus ergebende Fehler anzeigt. Wir können Syntastic mit Vundle installieren, indem wir die folgende Zeile zu .vimrc
in den #begin-
und #end
-Vundle-Aufrufen hinzufügen:
Hier sehen wir, wie Syntastic auf meinen Tippfehler bei Flask
als Flaks
reagiert und beim Schreiben der Datei die Fehler markiert. Ein tatsächlicher Syntax-Fehler, zum Beispiel ein fehlender Doppelpunkt bei einer if
-Anweisung, wird ebenfalls gekennzeichnet. Eine Unterstreichung am Zeilenende zeigt uns sogar, wo sich das Problem befindet.
Du kannst die Einstellungen von Syntastic sogar etwas konfigurieren. Versuche, den Befehl :help syntastic
einzugeben, um mehr Infos zu erhalten. Ich empfehle dir einige grundlegende Standardeinstellungen, die du zu .vimrc
hinzufügst, damit du loslegen kannst:
Mit diesen Einstellungen siehst du Folgendes, wenn du eine fehlerhafte Datei öffnest. Es öffnet sich ein weiterer Puffer in horizontaler Aufteilung mit Infos zum Fehler, der sich nach der Fehlerbehebung wieder schließt.
Hier findest du eine Anleitung zu den mit Syntastic kompatiblen Syntax-Checkern, um den für die von dir genutzte Programmiersprache geeigneten zu installieren. Für Python verwende ich flake8 mit eigenem Vim-Plug-in. Wir können flake8 auch installieren, indem wir pip install flake8
mit dem zur verwendeten Version von Python passenden pip ausführen.
Fugitive
Fugitive ist ein Git-Wrapper für Vim, von dem die Entwickler sagen, er sei verboten genial. Installiere Fugitive mit Vundle, indem du die folgende Zeile zu .vimrc
in die #begin
- und #end
-Vundle-Aufrufe hinzufügst:
Mit Fugitive führen wir :Git
oder einfach nur :G
, gefolgt von einem beliebigen Git-Befehl aus, um diesen Befehl direkt in Vim auszuführen und den Output in einem Fluss wiederzugeben. Das funktioniert besonders gut mit Befehlen, die nicht so großen Output haben.
Hier ist beispielsweise eine einfache Funktionalität zum Hinzufügen der Änderungen der Datei, an der du gerade arbeitest, um eine Zusage vorzubereiten.
Eine meiner Lieblingsfunktionen ist die, mit der bei Verwendung des :Gblame
-Befehls ein Puffer in vertikaler Aufteilung geöffnet wird, in dem alle git blame
-Notizen nebeneinander mit den Zeilen der Datei angezeigt werden, an der du gerade arbeitest. Selbst beim Scrollen bleibt die Verbindung erhalten!
Der Rest liegt eindeutig nur noch an mir. Wenn du noch mehr erfahren möchtest, ist dieses VimCast ein ausgezeichnetes Demo, das viele coole Aspekte von Fugitive behandelt.
NERDTree
NERDTree ist ein Dateisystem-Explorer für Vim, mit dem wir visuell komplexe Verzeichnishierarchien durchsuchen, zu lesende oder zu bearbeitende Dateien blitzschnell öffnen und grundlegende Dateisystem-Aktionen durchführen können.
Wir können NERDTree mit Vundle installieren, indem wir die folgende Zeile zu .vimrc
in den #begin
- und #end
-Vundle-Aufrufen hinzufügen:
Führe den :NERDTree
-Befehl aus, um einen weiteren Puffer zu öffnen, der vertikal aufgeteilt und an der Seite der aktuellen Datei angezeigt wird. Er zeigt das aktuelle Verzeichnis an, ermöglicht die gängige Navigation im Dateisystem und das Öffnen anderer Dateien.
NERDTree erstellt keine Tastenkombinationen außerhalb seines Fensters, daher kommt es zu keinerlei Behinderungen mit eigenen, bereits genutzten Tastenkombinationen. Dennoch können wir einige Tastenkombinationen zu .vimrc
für ein paar NERDTree-Befehle hinzufügen. Beispiel:
Hier findest du einige Tastenkombinationen, die zu .vimrc
hinzugefügt werden können, um das Funktionsverhalten von NERDTree anzupassen:
Es gibt sogar NERDTree-Plug-ins, mit denen Symbole neben den Dateien basierend auf ihrem Dateityp hinzugefügt werden. Bei Vim haben sogar die Plug-ins anpassbare Plug-ins.
Emmet
Emmet ist ein extrem nützliches Plug-in für Web-Entwickler. Es erleichtert das Schreiben und Bearbeiten von HTML sowie allen anderen Programmiersprachen, die Tags nutzen, um ein Vielfaches. Wir können Emmet mit Vundle installieren, indem wir die folgende Zeile zu .vimrc
in den #begin
- und #end
-Vundle-Aufrufen hinzufügen:
Wir können jeden beliebigen Tag erweitern und sogar integrierte, häufig verwendete Befehle nutzen, z B. html:5
, durch Eingabe von <c-y>,
(Ctrl+y+,).
Hier findest du ein kurzes Tutorial zu den vielseitigen Dingen, die wir mit Emmet tun können. Wie bei allen Vim-Plug-ins können wir das Verhalten in .vimrc
anpassen. Hier ein paar Beispiele:
Airline
Airline ist ein federleichtes Status-/Tabline-Feature nach dem „Quick & Dirty-Prinzip“, das du schon in den Screenshots zu den anderen Beispielen gesehen hast. Hier siehst du, wie sich die Statuszeile ändert, wenn ich verschiedene Modi eingebe, und wie eine Menge kontextuelle Informationen bereitgestellt werden.
Diese Zeile besteht aus verschiedenen Abschnitten, die jeweils Bruchstücke an Informationen anzeigen. Standardmäßig (ohne Konfiguration) sieht das so aus:
- A: zeigt den Modus + zusätzliche Markierungen wie crypt/spell/paste (INSERT) an
- B: Umgebungsstatus (VCS-Information - Zweig, Hunk-Zusammenfassung (Master), Akkuladestand)
- C: Dateiname + Schreibschutz-Attribut (~/.vim/vimrc RO)
- X: Dateityp
- Y: Dateikodierung[Dateiformat] (utf-8[unix])
- Z: Aktuelle Position in der Datei
- [...]: zusätzliche Abschnitte (Warnung/Fehler/Statistiken) von externen Plug-ins (z. B. YCM, syntastic usw.)
Wir können Airline mit Vundle installieren, indem wir die folgende Zeile zu .vimrc
in den #begin
- und #end
-Vundle-Aufrufen hinzufügen:
:wq!
Ich hoffe, dass du diesem Post viel Interessantes und Hilfreiches entnehmen konntest. Vieles davon ist der Vim-Community bereits bekannt, aber es gibt einige Plug-ins, von denen ich denke, dass sie jeder Vim-Nutzer kennen sollte. Ich werde noch einen weiteren Post zu weniger bekannten Plug-ins schreiben.
Als Vim-Fan freue ich mich natürlich, Neues darüber zu erfahren, was ich alles zu .vimrc
hinzufügen kann. Ich halte mich auf keinen Fall für einen Experten und es gibt in Bezug auf Vim immer wieder Neues zu erfahren. Kontaktiert mich und erzählt mir von euren coolen Vim-Tricks, stellt mir Fragen oder kritisiert mich zu meinen Vorschlägen in Grund und Boden:
- E-Mail: sagnew@twilio.com
- Twitter: @Sagnewshreds
- Github: Sagnew
- Twitch (Live-Code-Streaming): Sagnewshreds
Verwandte Posts
Ähnliche Ressourcen
Twilio Docs
Von APIs über SDKs bis hin zu Beispiel-Apps
API-Referenzdokumentation, SDKs, Hilfsbibliotheken, Schnellstarts und Tutorials für Ihre Sprache und Plattform.
Ressourcen-Center
Die neuesten E-Books, Branchenberichte und Webinare
Lernen Sie von Customer-Engagement-Experten, um Ihre eigene Kommunikation zu verbessern.
Ahoy
Twilios Entwickler-Community-Hub
Best Practices, Codebeispiele und Inspiration zum Aufbau von Kommunikations- und digitalen Interaktionserlebnissen.