Vi/Vim: wer mit Linux arbeitet, öffnet früher oder später ein Konfigurationsfile oder ein Script mit dem mächtigen Texteditor. Während die Lernkurve durchaus spürbar ist, dem Editor jedoch sämtlicher Komfort heutiger GUI Applikationen zu fehlen scheinen, wird oft auf einfachere Tools wie “Nano” ausgewichen.

Dabei ist Vim nicht nur sehr viel mächtiger, er kann bei täglichen Aufgaben den Workflow enorm effizienter machen. Und im Gegensatz zu grafischen Editoren, ist er auf jedem Linux Server, und unter anderem auch in vielen Docker Containern, installiert und aufrufbar.

Vim Befehlsmodus

Basics

Ein paar Basics müssen allerdings beherrscht werden, damit mit vim vernünftig gearbeitet werden kann. Dieser Artikel wendet sich insofern auch an erfahrene Vim Benutzer die bereits den Unterschied zwischen Command Mode” und “Insert Mode” kennen. Wem das nichts sagt, dem sei diese online Suse Linux Dokumentation empfohlen.

Die folgenden Befehle führe ich als Reminder und Aufwärmer auf:

[table “4” not found /]

Speichern des Dokuments und Beenden von Vim:

[table “5” not found /]

Fortgeschrittene Befehle

[table “6” not found /]

Vim Default Einstellung anpassen

Mit der Datei ~/.vimrc kann das Verhalten von Vim individuell und nach eigenen Bedürfnissen angepasst werden. Eine einfache .vimrc könnte so aussehen und via Ansible auf allen Servern verteilt werden:

set paste
syntax on
set tabstop=2
set shiftwidth=2
set expandtab
set laststatus=2
set cursorline
[table “7” not found /]

Die obigen Anpassungen bewirken dies:

Erweiterte Funktionen

Window Splitting

Bisweilen hätte man gerne das Fenster gesplittet: eine zweite Datei soll bearbeitet werden, oder die gleiche Datei soll an verschiedenen Stellen verglichen werden. Auf einem entfernten Rechner oder in einem Container muss nicht unbedingt eine zweite Session eröffnet werden. Vim kann seine Anzeige splitten:

[table “8” not found /]

Tabs

Auch Tabs gibt es unter Vim. Ist der Platz begrenzt und müssen mehrere Dateien gleichzeitig bearbeitet werden, bieten sich Tabs an:

[table “2” not found /]

vimdiff

Selbst eine Vergleichsfunktion bietet Vim. Mit folgendem Befehl können Dateien verglichen werden:

vimdiff file1 file2

Dabei werden nur die relevanten Zeilen angezeigt, also die von der Differenz betroffene und der Übersicht zuliebe ein paar Zeilen darüber und ein paar darunter.

Terminal

Mit :ter kann auch ein Terminal als split Screen geöffnet werden. Manchmal ganz nett, wenn man mit vim beispielsweise das System dokumentiert.

Fazit

Natürlich bietet Vim noch weit mehr Funktionen. Da wäre zum Beispiel Vim-Script, oder die vielen Plugins die man herunterladen und installieren kann. Ich persönlich nutze Vim aber eigentlich “nur” wenn ich auf Server und Container zugreifen muss. “Nur” in Anführungszeichen, weil das zum Tagesgeschäft eines Linux-Admins gehört. Jedoch sind gerade die Funktionen, welche ich oben aufgeführt habe, das von mir am meisten benutzte Werkzeug, wenn ich Dateien im Terminal analysieren, vergleichen und verändern muss.

Schreibe einen Kommentar