Obwohl ich seit 1995, also seit über 20 Jahren, Linux benutze, habe ich Vim nie verstanden. Sicher, ich wusste, wie man einfache
Bearbeitungen vornimmt und wie man den Editor beendet, aber es hat bei mir nie Klick gemacht. Ich hatte auch das Gefühl, dass der Editor für das, wofür ich
ihn benutzte, nämlich für einfache Bearbeitungen von Konfigurationsdateien, zu sehr ausgereift war. Zum Programmieren benutzte ich integrierte Entwicklungsumgebungen (IDE)
und für meine Schularbeiten verwendete ich StarOffice (jetzt OpenOffice) und einen grafischen Editor.
Obwohl ich meinen Kernel kompiliert habe, Linux von Grund auf neu gebaut habe, ein Dual-Boot Windows/Linux hatte und sogar Windows vollständig
durch Linux ersetzt habe, habe ich Vim vermieden. Vim ist auf Linux-Systemen fast immer verfügbar, so dass ich alternative Texteditoren auf Linux-Systemen installieren musste,
damit ich Dateien bearbeiten konnte. Aber jetzt, wo ich als Cloud Consultant arbeite, habe ich viel mit der Konsole zu tun, und meine Vergangenheit holt mich wieder ein
was mich motiviert, diesen Geist zu vertreiben!
Vim Geschichte
Vim oder Vi-improved ist ein Befehlszeilen-Texteditor für Linux und Mac. Der Texteditor wurde ursprünglich von Bram Molenaar
im Jahr 1988 für den Commodore Amiga entwickelt, ist aber jetzt als Standardeditor in den meisten Linux- und Mac-Systemen verfügbar. Vim verwendet eine Text-Benutzeroberfläche
, um Text über die Befehlszeile und die Tastatur zu bearbeiten. Was Vim von Texteditoren wie Sublime Text,
Visual Studio Code oder Nano unterscheidet, ist die Tatsache, dass er eine Grammatik für die Bearbeitung von Text bereitstellt. Sobald Sie mit dem Vokabular ausgestattet sind, wird es
sehr einfach, Text mit einem Minimum an Aufwand zu bearbeiten, ohne auch nur die Maus zu berühren.
Vim Grammatik
Vim ist ein ganz anderer Editor, als wir es gewohnt sind. Vim spricht eine Sprache, um Text zu bearbeiten. Die Sprache besteht aus
Verben, Modifikatoren und Substantiven. Diese können kombiniert werden, um Sätze in Form von 'Verb-Modifikator-Nomen' zu bilden, die Vim
versteht, um Text zu bearbeiten.
Verben sind zum Beispiel Aktionen:
- Visuell (v),
- Kopieren (y),
- Kleister (p),
- Ändern Sie (c),
- Löschen Sie (d),
Substantive sind z.B. Dinge im Dokument: - Die aktuelle Zeile (0),
- Das Ende der aktuellen Zeile ($),
- Die Zeile unterhalb der aktuellen Zeile (j),
- Die Zeile oberhalb der aktuellen Zeile (k),
- Ein Wort (w),
- Ein Satz (s),
- Ein Absatz (p),
Modifikatoren definieren, wie Substantive zu interpretieren sind, zum Beispiel: - innen (i),
- um (a),
- finden (f),
- suchen (/),
Sätze erstellen
Die Vim-Verben, Modifikatoren und Substantive können kombiniert werden, um Sätze zu erstellen. Wenn wir zum Beispiel ein Wort
löschen möchten, lautet der zu erstellende Satz delete, inside, word, was sich mit diw übersetzen lässt. Um den aktuellen Satz
vom ersten Großbuchstaben bis zum Punkt zu bearbeiten, sagen wir change, inside, sentence, was sich mit cis übersetzen lässt. Um
einen ganzen Textabsatz auszuwählen, wird der Satz zu visual, inside paragraph, copy, was mit Vipy
übersetzt wird. Wenn wir diese Sätze in einen normalen Editor eingeben würden, würden Sie z.B. 'diw' in Ihrem Text sehen und nichts würde passieren.
Das liegt daran, dass ein normaler Editor keinen 'normalen' Modus hat. Der normale Modus ist eine Besonderheit von Vim, nämlich der Modus, in dem
die Sätze interpretiert, die Sie in den Editor eingeben. Da Vim im normalen Modus startet, stolpert er Anfängern, wie mir,
weil sie die Sprache von Vim nicht verstehen, und wenn die Benutzer anfangen zu tippen, ergeben die Sätze für Vim keinen Sinn.
Modi
Vim bietet verschiedene 'Modi', in denen sich der Editor bei Benutzereingaben unterschiedlich verhält. Im 'normalen' Modus interpretiert Vim
die Vim-Sätze, die sich hervorragend für eine schnelle und effiziente Bearbeitung eignen. Im 'Einfügemodus' verhält sich Vim wie jeder andere
Editor und ermöglicht die Bearbeitung von Freitext. Der 'visuelle' Modus ist für Textmanipulation und Textauswahl gedacht. Im Modus 'command'
können Sie Befehle wie ':q!' eingeben, um Vim ohne Speichern zu beenden. Es gibt noch viele weitere Modi, aber diese drei sind die
grundlegenden Modi, die Sie kennen müssen.
Vim lernen
Es gibt viele Ressourcen im Internet, wie z.B. vim adventures, ein Online-Abenteuerspiel
, das Ihnen die Grundlagen der Vim-Sprache, der Navigation, der Auswahl und der Bearbeitung vermittelt. Auf der Konsole können Sie
integrierte ':help'-System eine großartige Ressource für Verben, Substantive, Modifikatoren, Modi und so weiter.
Moderne Redakteure
Die Sprache Vim ist faszinierend, und für einen Programmierer wie mich eine Herausforderung. Um eine Sprache zu lernen, muss man sie
oft sprechen und Sätze ausprobieren und sehen, was dabei herauskommt. Es wäre schade, wenn so viel Leistung nur auf der
Befehlszeile verfügbar wäre. Glücklicherweise gibt es grafische Editoren, die Vim unterstützen, wie die Produkte von Jetbrains wie
PyCharm, IntelliJ, GoLand und so weiter. Wenn Sie das Plugin 'IdeaVim' installieren, unterstützt der Editor die Modi 'normal', 'einfügen', 'visuell'
und 'Befehl' sowie das gesamte Vim-Vokabular, um mit der Erstellung von Sätzen zu beginnen.
Motivation
Was mich motiviert, Vim zu lernen, ist eine Standardmethode zur Textbearbeitung. Die Vim-Sprache bietet eine Lösung für die Kodierung von
Editor-Funktionen als Sprache. Eine Sprache ist für Menschen leicht zu erlernen und bietet eine Möglichkeit, komplexe Verhaltensweisen
auf einfache Weise zu kommunizieren. Da das Editieren von Text wie das Kommunizieren von Verhalten ist, können wir durch das Erlernen einer Sprache komplexes
Editierverhalten kommunizieren. Eine Sprache ermöglicht es auch, das Verhalten mit einem Minimum an Worten zu kommunizieren. Wenn wir nur ein paar
Verben, Modifikatoren und Substantive lernen, können wir Hunderte von Operationen kodieren.
Der Nachteil normaler Editoren ist, dass sie Abkürzungen für ein einziges Verhalten verwenden. Da die Tastenkombinationen begrenzt sind, bieten die
Editoren kaum eine Bearbeitungsfunktion. Erschwerend kommt hinzu, dass sich diese Tastenkombinationen von einem Editor zum anderen ändern
, so dass Sie für jeden neuen Editor die Tastenkombinationen neu lernen müssen.
Da für die meisten Editoren ein Vim-Plugin verfügbar ist, bietet das Erlernen der Vim-Sprache einen Standard für alle Editoren.
Wo Sie beginnen sollten
Die oben aufgeführten Verben, Modifikatoren und Substantive reichen aus, um loszulegen. Schreiben Sie die Sätze auf, die Sie am häufigsten verwenden, wenn Sie
Text bearbeiten, und versuchen Sie, aus dem Satz einen Sinn zu machen. Lernen Sie die Buchstaben nicht, sondern sprechen Sie sie leise im Kopf nach.
Meiner Meinung nach besteht die größte Hürde bei Vim darin, sich an eine neue Art der Navigation zu gewöhnen. Sobald Sie sich an die Navigation von
und die Vim-Sprache gewöhnt haben, installieren Sie das Plugin 'IdeaVim' und versuchen Sie sich in der Entwicklung mit der Vim-Sprache. Die Chancen
stehen gut, dass Ihnen die neue Art der Textbearbeitung gefällt.
Fazit
Vim ist ein sehr interessanter Editor. Indem Sie Verben, Modifikatoren und Substantive kombinieren, können Sie mit Vim kommunizieren. Die Sprache
drückt Operationen, Textobjekte und Bewegungen aus, die den Ablauf des Editors steuern. Ich bin noch sehr neu in Vim, aber wie Sie unter
lesen können, bin ich sehr begeistert von dem Editor und, was am wichtigsten ist, ich habe meinen Geist aufgegeben!
Verfasst von
Dennis Vriend
Contact
