AA_handyman_sxc1269809_JohnNyberg.jpg

© John Nyberg, sxc.hu

Einführung in Vi(m)

Vielseitig

,
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.

Bei den aktuellen Linux-Distributionen heißt der Standard-Editor zumeist Vim [1]. Mit ihm erstellen und bearbeiten Sie nicht nur Textdateien jeglicher Art, sondern beispielsweise auch Programmcode, LaTeX-Dokumente, Stilvorlagen für Webseiten im CSS-Format und die Konfigurationsdateien des Betriebssystems und seiner Dienste.

Die Vielseitigkeit von Vi und Vim erschließt sich nicht auf den ersten Blick. Der große Vorteil: Das Bedienkonzept ist seit Jahrzehnten über die Systemgrenzen hinweg weitestgehend unverändert geblieben. Wer sich damit intensiv auseinandersetzt, dem steht einem nicht nur ein sehr mächtiges Werkzeug bereit, sondern der verfügt auch über das Know-how für die Bedienung einer ganzen Reihe von weiteren Unix-Programmen. Es lohnt sich daher für jeden Benutzer, mit den grundlegenden Konzepten und Tastenkombinationen dieses Texteditors vertraut zu sein. In den Zertifizierungen des Linux Professional Institutes (LPI,[2]) bilden die Texteditoren Vim und Emacs essenzielle Bestandteile.

Rückblick

Ein Blick in der Geschichte der Betriebssysteme zeigt, dass Unix-Systeme nunmehr seit Jahrzehnten Vi(m) als den Standard-Texteditor enthalten. Auf einem Unix-artigen System finden Sie entweder das Original Vi oder einen entsprechenden Nachfolger.

Der Ursprung der gesamten Vi-Familie liegt in den Siebziger Jahren des letzten Jahrhunderts. 1976 erweiterte Bill Joy den zeilenorientierten Editor Ex um einen visual mode, der schnell an Populärität gewann. Von nun an war ein Navigieren mittels eines Cursors im Text möglich, anstatt einzelne Zeilen erst anzufordern, um sie zu ändern. Bald startete das Programm grundsätzlich im Visual Mode und erhielt in der Folge den Namen Vi als Ableitung von der kürzesten, unzweideutigen Abkürzung für das Kommando visual im Editor Ex.

Daraus entwickelten sich eine Reihe von Erweiterungen und Portierungen auf andere Plattformen [3]. Zu den bekanntesten Varianten gehören Vim ("Vi Improved") und Gvim. Beide Programme unterstützen das charakteristische Bedienkonzept über Modi und Tastenkombinationen. Vim bietet einen gegenüber Vi deutlich erweiterten Funktionsumfang. Gvim bereichert den Vim um eine graphische Benutzeroberfläche auf der Basis des Gimp Toolkits (Gtk).

Bei Vim handelt es sich um die weitaus populärste erweiterte Version von Vi, die aber nicht auf dessen Programmcode basiert. Der Autor Bram Moolenaar entwickelte seit 1991 einen dem Vi-ähnlichen Editor auf seinem Amiga, daher stand Vim zunächst auch für "Vi IMitation". Schrittweise kamen weitere Funktionen hinzu (siehe Kasten "Vim: Erweiterungen"). 1992 war dann bis auf eine kleine Menge der komplette Umfang von Vi erreicht – und aus der "Imitation" entstand der verbesserte Vi alias Vim.

Die GUI-Variante Gvim (Abbildung 1) erlaubt es, das Programm über Menüs, Schalter und Scroll-Leisten zu bedienen. Es eignet sich sehr gut für Einsteiger, weil es sich nicht nur in der klassischen Weise per Tastatur, sondern zusätzlich auch mithilfe der Maus bedienen lässt. Zudem zeigen diemeisten Menüeinträge die passenden Tastenkürzel an. Das hilft, diese zu erlernen und später im Terminal zu verwenden.

Abbildung 1: Text editieren im Gvim.

Vim: Erweiterungen

Gegenüber dem Ur-Vi von Bill Joy weist der Vi Improved eine ganze Reihe von Erweiterungen und Verbesserungen auf. Dazu zählen:

  • unbegrenztes Undo/Redo ([U] und [Strg]+[R])
  • mehrere Fenster über- und nebeneinander
  • Fenstergruppen in Reitern
  • Syntax-Highlighting für mehr als 500 strukturierte Formate, darunter über 42 (Programmier-)Sprachen
  • Vervollständigen von Namen, Wörtern oder Variablen im Quellcode
  • Vergleichen und Kombinieren von Dateien
  • erweiterte reguläre Ausdrücke
  • Ein- und Ausklappen von Textblöcken ("Folding")
  • Öffnen von komprimierten Dateien
  • eingebauter Textumbruch
  • integrierte Hilfefunktion
  • Historie für Suche und Cursor-Positionen
  • Session-Datei zum Merken von Pufferlisten und Registerinhalten
  • Arbeiten mit Makros (Aufnehmen und Abspielen von Tastensequenzen)
  • Maus-Interaktion

Unter der Haube

Bei vielen aktuellen Linux-Systemen verweist lediglich ein symbolischer Link /usr/bin/vi auf ein bestimmtes Programm, das dann tatsächlich ausgeführt wird. In Debian-basierten Distributionen führt der Aufruf von vi zunächst zu einem gleichnamigen Symlink, der auf die Datei /etc/alternatives/vi zeigt. Diese verweist ihrerseits wiederum auf die Datei /usr/bin/vim.gtk. Wie das Kommando file verrät, handelt es sich dabei um das Programm, welches das System letztendlich ausführt (Abbildung 2).

Abbildung 2: Um drei Ecken: Wie die Shell den Vim-Aufruf interpretiert.

Für Gvim sieht das Ganze recht ähnlich aus: Der symbolische Link nach /etc/alternatives/gvim zeigt ebenfalls auf /usr/bin/vim.gtk. Der Name legt bereits nahe, dass das Programm gegen die Bibliotheken des Gimp Toolkit (Gtk) gelinkt ist. Eine detailliertere Auskunft darüber, welche Module und Bibliotheken es integriert, gibt das Kommando vim --version in einem Terminal (Abbildung 3).

Abbildung 3: Vim zeigt die Module, die es bereits mitbringt.

Vim gibt es für fast alle Betriebssysteme, insbesondere für alle Varianten von Linux, Unix, Mac OS und Windows (siehe Kasten "Vim-Klone"). Erlerntes Wissen nützt also auch auf diesen Systemen. Über Vim gibt es bereits eine ganze Reihe exzellenter Bücher und Beschreibungen, zum Beispiel Steve Ouallines "Vi IMproved – Vim" [4] (englisch) und Reinhard Wobsts "Vim gepackt" [5]. Hilfreich ist auch das "Vi/Vim Graphical Cheat Sheet" [6], das eine farbige Übersicht der einzelnen Tastenbelegungen im jeweiligen Modus bietet.

Vim-Klone

Während Sie Vim unter Windows erst nachrüsten müssen, bringen unixoide Systemen das Programm gleich mit, wenn auch zum Teil in anderen Varianten. Auf einem BSD 4.4 (FreeBSD und NetBSD) steht der Nvi [7] bereit. Dabei handelt es sich um eine fehlerbereinigte Neuimplementation des Editors, die sich an die Originalversion des Vi anlehnt. Slackware [8], Kate OS [9] und Minix [10] kommen mit Elvis [11] als Standard-Editor.

Mac OS X "Snow Leopard" installiert einen Vim 7.2, der dem Unix-Vim ähnelt. Für erweiterte Features steht Macvim [12] bereit: Er basiert auf der Vim-Version 7.3. Neben dem Darstellen der geöffneten Dateien in Reitern bietet er Mac-OS-typische Tastenkürzel, einen transparenten Hintergrund des Fensters, einen Vollbildmodus und die Möglichkeit, Multibyte-Sequenzen zu bearbeiten. Auch für ältere Mac-Versionen stehen Binär-Pakete bereit [13]. Diese basieren auf der Vim-Version 6 und erhalten keine Updates mehr.

Wessen Herz sowohl für Emacs als auch für Vim pocht, der sollte den Texteditor Vile [14] ausprobieren. Vile steht für "VI Like Emacs" und versucht, das beste aus beiden Welten in einem Programm zu vereinen. Das Paket für das Terminal heißt Vile, das für X11 Xvile (Abbildung 4).

Abbildung 4: Der Vim-Klon Vile/Xvile im Einsatz.

LinuxCommunity kaufen

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

Deutschland

Ähnliche Artikel

  • Veni, vidi, vici!
    Mit dem Addon Vimperator dirigieren Sie Firefox flink wie einen Vi-Editor durch das Netz. Zahlreiche Tastaturkürzel und eine minimalistische Oberfläche runden den Spaß ab.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller bewältigen als in grafischen Programmen. Wir stellen interessante Anwendungen und Aufrufparameter vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Texteditor Tilde bringt das GUI-Feeling auf die Konsole
    Tilde versucht das Look & Feel der für grafische Oberflächen entwickelten Texteditoren auf die Konsole zu übertragen.
  • Fortgeschrittenes Arbeiten mit dem Editor Vim
    Mit wenigen Handgriffen wird aus dem vermeintlich kryptischen Editor Vim ein komfortables und flexibles Werkzeug zur Bearbeitung von Texten.
  • Aufgaben automatisieren in Vim
    Als leistungsfähige Editoren helfen Vim und seine grafische Variante Gvim, Zeit zu sparen – mit Mappings, Makros, Abkürzungen und automatischen Befehlen.
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

KWord Quiz
Carl Garbe, 30.08.2016 16:19, 0 Antworten
KWord Quiz lässt sich bei mir (nach einem update auf Ubuntu 16.04 LTS) nicht mehr speichern, kann...
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...