9    Der vi(m)-Editor

»I love and use VIM heavily too.«
(Dt. »Ich liebe und nutze ständig den VIM.«)
– Larry Wall

Unter Linux und anderen Unix-artigen Systemen schreibt man nicht nur Shellskripte im Editor, man wickelt quasi die gesamte Systemkonfiguration über Editoren ab, da die Systemkonfiguration durch Textdateien realisiert wird.

Anders als unter grafischen Systemen wie Windows erfolgt die Konfiguration hier nicht mit der Maus, sondern oft über Konfigurationsdateien. Möchten Sie ein System richtig konfigurieren, benötigen Sie also folglich einen Editor sowie das Know-how, um ihn zu bedienen. Außerdem müssen Sie den Aufbau jeder einzelnen Konfigurationsdatei und ihre Syntax kennen. Das hört sich schlimmer an, als es ist: Die Softwareentwicklerinnen und -entwickler achten natürlich darauf, eine möglichst einheitliche Syntax für die Konfigurationsdateien zu implementieren.

Neben dem historisch sicherlich wertvollen Editor ed, mit dem wir Sie nicht quälen werden, gibt es noch einige vernünftige und daher äußerst beliebte Editoren. Der populärste Konsoleneditor dürfte wohl nach wie vor der vi-Editor sein, um den es auch in diesem Kapitel gehen soll. Ebenfalls populär sind nano und emacs. Wenn Sie unter der grafischen Oberfläche arbeiten, dann empfehlen wir Ihnen kate (unter KDE), gedit (unter Gnome), pluma (unter MATE) und die grafische Variante des vi, nämlich gvim, siehe Abschnitt 9.1 (unter allen Oberflächen). Falls Sie eine vollständige Entwicklungsumgebung suchen, sind Atom oder Visual Studio Code empfehlenswert, denen aber die minimalistische Eleganz des vim fehlt.

9.1    vi, vim, gvim und neovim

Neben dem Standard-vi, dessen Geschichte bereits 1976 begann, existiert noch eine sich ständig in der Weiterentwicklung befindliche Version mit dem Namen vim (vi-improved), die als ein Klon angesehen werden kann. Im Gegensatz zum Standard-vi läuft der vim auf noch mehr Systemen und Plattformen. Zudem kommt eine auf der GTK-Library basierende grafische Oberfläche hinzu. Des Weiteren ist farbiges Syntax-Highlighting für diverse Programmiersprachen implementiert. In vielen modernen Distributionen startet der Befehl vi direkt vim, da der vim vollständig vi-kompatibel ist und alle seiner Features unterstützt. (Wir verwenden daher in diesem Buch die beiden Kommandos synonym.) Mehr über ihn erfahren Sie unter http://vim.org.

gvim: vi unter wayland – so entsteht unser Buch.

Abbildung 9.1     gvim: vi unter wayland – so entsteht unser Buch.

Die grafische Variante gvim (Abbildung 9.1) bietet zudem diverse Farbeinstellungen (sogenannte Themes) an. Sehr praktisch ist außerdem die Möglichkeit, mehrere Dateien parallel in separaten Fenstern zu laden. Dabei wird der Hauptbereich des vim in Subfenster aufgeteilt. Programme können direkt aus dem Editor heraus kompiliert werden, und einige zusätzliche Features wie etwa ein Hexeditor sind ebenfalls integriert.

Ziemlich neu ist der Fork neovim, der die Wartung und Weiterentwicklung des Editors einfach machen soll. Dabei wird jedoch eine vollständige Kompatibilität mit vim versprochen.