Fortgeschrittenes Arbeiten mit dem Editor Vim

Von Texten und Skripten

Mit wenigen Handgriffen wird aus dem vermeintlich kryptischen Editor Vim ein komfortables und flexibles Werkzeug zur Bearbeitung von Texten.

Die grundlegende Bedienung des Vi-Klones Vim haben die meisten Anwender schnell erlernt: Die Taste i führt in den Eingabemodus, mit [Esc] gelangen Sie zurück in den Kommandomodus. Die Tastenkombination :wq speichert die bearbeitete Datei und schließt den Editor, :q! hingegen beendet Vim, ohne Änderungen in die Datei zu schreiben. Damit sind seine Fähigkeiten freilich nicht einmal annähernd ausgereizt. Neben arbeitserleichternden Makro-Befehlen [1] beherrscht Vim Texteinfaltungen, bietet einfache Textformatierung und verfügt über eine eigene Skriptsprache. Alle diese Möglichkeiten stellt dieser Artikel der Reihe nach vor.

Übersichtlichkeit

Zur Arbeit mit umfangreichen Dateien gehören Fenster und Faltungen, die den Gesamttext übersichtlicher machen. Abbildung 1 zeigt, wie Vim Texte in Fenstern darstellt.

Abbildung 1: Fenster machen das Arbeiten mit mehreren Dateien und langen Texten übersichtlich.

Starten Sie den Editor für einen Fenster-Testlauf in der Shell. Nun öffnen Sie mit dem Befehl :new dateiname ein neues Fenster mit der genannten Datei als Inhalt. Durch die Tastenkombination [Strg-w] Pfeiltaste schicken Sie den Cursor in die gewünschte Richtung – in diesem Fall ins untere Fenster. Dort laden Sie mit :e dateiname2 eine zweite Datei und öffnen eine dritte mit :vnew dateiname3. Das Kommando :vnew startet im Gegensatz zu :new ein vertikales und kein horizontales Fenster. Die Kombination [Strg-w] +/- vergrößert oder verkleinert das Fenster, in dem sich der Cursor befindet.

Falls Ihnen die Tipperei zu umständlich ist, können Sie die Fenstergröße und Cursor-Position auch mit der Maus verändern. Dazu müssen Sie die Maus mit :set mouse=a einschalten. Möchten Sie diese Einstellung dauerhaft beibehalten, tragen Sie sie (ohne einleitenden Doppelpunkt) in die Konfigurationsdatei ~/.vimrc ein.

Zum Schluss beendet ein beherztes :qa! die Fenster-Orgie samt Vim. Die umfangreiche Hilfe zu den Fenstern finden Sie mit dem Befehl :h windows.txt.

Ein weiteres nüztliches Hilfsmittel sind Texteinfaltungen. Die Faltung ist eine interne Darstellung des Editors, die mehrere Zeilen oder ganze Abschnitte eines Textes zusammenfasst. Probieren Sie es aus, und öffnen Sie eine längere Datei. Vom Kommandomodus aus gelangen Sie mit V in den visuellen, zeilenweisen Modus. Markieren Sie einige Zeilen und drücken Sie zf. Der markierte Abschnitt ist nun zu einer einzigen, hervorgehobenen Zeile zusammengefaltet (Abb. 2).

Abbildung 2: Unwichtiger Text wird weggefaltet.

Um eine Faltung aufzuheben positionieren Sie den Cursor darauf und geben zo ein. Wollen Sie sie erneut schließen, wählen Sie zc. Die Tastenkombination zi öffnet und schließt abwechselnd alle Faltungen.

Falls Sie die Arbeit mit dem Wechsel in den visuellen Modus nicht mögen, können Sie zf eine Zeilenreichweite von der aktuellen Cursor-Position aus mitgeben: zf5 [Enter]. Im Kommandomodus greift ebenfalls der Befehl :20,25 fold, um beispielsweise die Zeilen zwanzig bis fünfundzwanzig einzufalten. Eine weitere Möglichkeit ist die zusätzliche Angabe ap. Dies ist die Kurzform von "a paragraph" und meint einen Absatz. Der Befehl zfap bezieht das Faltungs-Kommando auf den von Leerzeilen umrahmten Textabsatz, in dem sich der Cursor befindet.

Da Faltungen lediglich eine Darstellung und keine Veränderung des Textes sind, können sie wie der ungefaltete Rest-Text bearbeitet werden. So können Sie im visuellen Modus eine Faltung markieren und den Text mit d löschen oder mit y kopieren und via p an anderer Stelle einfügen.

Dies ist nur eine kleine Auswahl aus dem Anwendungsbereich der Faltungen. In der Vim-Hilfe finden Sie mit :h fold.txt eine detaillierte Anleitung zu diesem Thema, die besonders für Programmierer interessant ist.

Formatierung

Nun wissen Sie, wie Sie Ihren Text strukturiert darstellen können. Auch die Formatierungsmechanismen von Vim sind einen Blick wert. Eine Basiseinstellung dazu liefert die Variable textwidth. Sie definiert die Anzahl der Zeichen, ab der eine Zeile wortweise umbrochen wird. Den momentanen Wert der Variablen erfragen Sie mit dem Befehl set textwidth?. Wenn Sie den Wert festlegen wollen, dann ist :set textwidth=80 das Kommando Ihrer Wahl. In unserem Beispiel wurde eine Zeilenlänge von achtzig Zeichen eingestellt.

Zum Formatieren des Textes auf die voreingestellte Zeilenlänge eignet sich das Kommando gq sehr gut. Ähnlich wie die Anweisungen zum Falten setzen Sie es im visuellen Modus oder mit Angabe einer Reichweite ein: gq8 formatiert acht Zeilen ab der Cursor-Position. Die Absatz-Definition ap dürfen Sie ebenfalls einsetzen: gqap.

Umbrochene Zeilen fügen Sie sehr schnell mit J zusammen. Ohne ein vorheriges Markieren im visuellen Modus verkettet J lediglich die Zeile, die den Cursor enthält, mit der nächsten. Es versteht sich beinahe von selbst, dass auch die Zeilenzusammenführung durch eine Reichweite bestimmt werden kann: 18,22 j.

Am Rande ein kleiner Tipp. In disem Artikel sind Ihnen bisher viele Anweisungen begegnet, die Sie unter Umstaänden "blind" schreiben mussten. Die Variablen-Definition :set sc (Show Command) macht Ihre Eingaben unten in der Status-Anzeige des Editors sichtbar.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Sprunghaft
    Mit dem Editor Slap navigieren Sie bequem selbst durch große Datenbündel. Dabei gerät die vielversprechende Software aber bisweilen etwas ins Straucheln.
  • Hardcore-Linux
    In diesem ersten Teil einer Serie über die Bash verraten wir Ihnen erste Geheimnisse beim Umgang mit dem Befehlszeileninterpreter. Probieren Sie alles aus! Nur so kann man das erlernte Wissen behalten und vertiefen.
  • Mit Scribes komfortabel Texte und Code editieren
    Ganz automatisch geht die Arbeit mit Scribes nicht. Wer das Programm aber geschickt einsetzt, der spart viel Zeit beim Tippen.
  • Einführung in Vi(m)
    Der Texteditor Vim ist nicht nur unter Linux-Nutzern sehr populär. Auch andere Programme nutzen das gleiche Bedienkonzept – ein Grund, es genauer unter die Lupe zu nehmen.
  • Konfiguration der Bash
    Für viele Einsteiger ist die Shell ein Mysterium, das fortgeschrittenen Anwendern und Linux-Gurus vorbehalten bleibt. Dabei verbirgt sich hinter dem Prompt ein flexibles Programm, mit dem Anwender beinahe jede Aufgabe lösen können.
Kommentare

Infos zur Publikation

LU 09/2016: Ciao, Windows!

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

NOKIA N900 einziges Linux-Smartphone? Kein Support mehr
Wimpy *, 28.08.2016 11:09, 1 Antworten
Ich habe seit vielen Jahren ein Nokia N900 mit Maemo-Linux. Es funktioniert einwandfrei, aber ich...
Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...