Von Texten und Skripten

Fortgeschrittenes Arbeiten mit dem Editor Vim

01.12.2004
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
 

Ähnliche Artikel

  • 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.
  • ASCII-Grafiken erstellen mit cadubi, figlet und boxes
    Lustige Rahmen in E-Mails, farbenfrohe Login-Texte und dreidimensionale Fonts - und das alles nur aus Buchstaben: Die Tools, die wir hier vorstellen, setzen Ihrer Kreativität keine Grenzen.
  • Editieren mit dem Vim-Frontend gvim
    Beim Editor vi und seinen Verwandten hört für viele der Spaß in Sachen Komfort und Bedienbarkeit auf. Doch selbst Einsteiger brauchen auf dieses mächtige Werkzeug nicht zu verzichten, denn mit Gvim existiert eine klickbare Variante des vi-Klons.
  • Ausbaufähiger Texteditor Enki im Test
    Ohne Schnörkel ermöglicht der Texteditor Enki ein routiniertes Arbeiten an einfachen Skripten und Texten.
  • 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.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...