Die Editoren VIM und Elvis


Index


Überblick

Text-Editoren sind Werkzeuge, die ein komfortables Erstellen, Modifizieren und Betrachten von Text-Dateien (ASCII-Dateien) gestatten. Text-Dateien kommen relativ häufig vor. Hier einige Beispiele:

Es existiert eine Vielzahl unterschiedlichster Text-Editoren. Zwei der bekanntesten und bedeutendsten Editoren bzw. Editor-Familien für UNIX-Systeme sind der Vi und der Emacs, wobei der Emacs nicht nur als Editor, sondern auch als komplette Entwicklungsumgebung genutzt werden kann. Emacs- und Vi-Versionen stehen übrigens nicht nur für UNIX, sondern auch für alle anderen relevanten Systeme zur Verfügung.

Die ursprüngliche Version des Editors Vi wurde nach Informationen der VI LOVERS HOME PAGE 1976 von Bill Joy auf der Basis der zeilenorientierten Editoren ed und ex entwickelt. In der zur Distribution des frei verteilbaren Vi-Clones Nvi gehörenden Datei README findet sich folgende Aussage:

o From the original vi acknowledgements, by William Joy and Mark Horton:

    Bruce Englar encouraged the early development of this display
    editor.  Peter Kessler helped bring sanity to version 2's
    command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
    and created the framework that users see in the present editor.
    Mark Horton added macros and other features and made the editor
    work on a large number of terminals and Unix systems.

Im Gegensatz zu seinen beiden Vorgängern arbeitet der Vi bildschirmorientiert, so wie man es heute von modernen Editoren erwartet. D.h., auf dem Bildschirm wird permanent der (weitgehend) aktuelle Zustand eines bestimmten, vom Nutzer wählbaren Ausschnitts des zu bearbeitenden Textes dargestellt. Hinreichend kleine Texte kann man natürlich komplett sehen. Genau ein Zeichen dieses Ausschnitts stellt die aktuelle Position im Text dar, die durch einen Cursor repräsentiert wird und vom Anwender beliebig verändert werden kann. Viele Editor-Kommandos beziehen sich auf diese aktuelle Position. So kann man dort u.a. Zeichen einfügen, löschen und gegen andere ersetzen.

Der Vi gilt als UNIX-Standard-Editor. Er ist integraler UNIX-Bestandteil. Sowohl kommerzielle als auch freie UNIX-Systeme verfügen über mindestens eine Vi-Version. Den Original-Vi findet man nur auf kommerziellen UNIX-Systemen, da dessen Code nicht frei ist, sondern dem Copyright von AT&T unterliegt. Unabhängig davon wurden mehrere Vi-Clones entwickelt, z.B. VIM, Elvis und Nvi, deren Quelltexte frei zur Verfügung stehen.

Der Vi ist ein relativ kleiner, aber dennoch sehr leistungsfähiger Editor. Anfänger empfinden ihn in der Regel als sehr gewöhnungsbedürftig, hauptsächlich wegen seiner Unterscheidung zwischen Kommando- und Einfüge-Modus.

VIM (Vi IMproved) und Elvis sind leistungsfähige Vi-Clones, die zum Original-Vi nahezu vollständig kompatibel sind, so dass sie diesen problemlos ersetzen können. Selbst erfahrene Vi-Nutzer finden daher beim Umstieg auf die neuen Werkzeuge eine vertraute Umgebung vor. Bei den meisten neueren Linux-Distributionen verbirgt sich standardmäßig hinter dem Kommando vi der VIM. Früher dominierte der Elvis.

Beide Editoren stehen für eine ganze Reihe von Systemen/Plattformen zur Verfügung (UNIX, Windows, OS/2, DOS, Atari sowie bei VIM noch einige weitere), so dass man beim Systemwechsel nicht zwangsläufig umlernen muss, sondern überall die gewohnte Editor-Umgebung antrifft.

Die zum Zeitpunkt der letzten Modifikation dieses Dokuments aktuellen Voll-Versionen sind:

Hauptentwickler und "Vater" des Vim ist Bram Moolenaar, der von einer Reihe anderer Entwickler unterstützt wird. Elvis stammt von Steve Kirkendall. Der Vim wird aktiv gepflegt und weiterentwickelt, wogegen die Entwicklung des Elvis im Jahre 2003 beendet wurde.

VIM und Elvis weisen gegenüber dem Vi einen deutlich erweiterten Funktionsumfang auf. Dadurch wird dem Nutzer ein wesentlich einfacheres und komfortableres Arbeiten ermöglicht. Beide Editoren stellen ausgesprochen mächtige, flexible und effiziente Werkzeuge für die Erledigung unterschiedlicher Aufgaben (Lesen von Text-Dateien, Erstellung von LaTeX-Dokumenten und HTML-Seiten, System-Administration, Programmierung, ...) dar.

Die weiter unten folgenden Übersichten weisen auf ausgewählte, im Vergleich zum Original-Vi neue Merkmale von VIM und Elvis hin, wobei die offensichtliche VIM-Lastigkeit daher rührt, dass der Autor dieser Seite fast ausschließlich den VIM verwendet und diesen daher besser kennt. Verschiedene der genannten Eigenschaften des VIM sind in gleicher oder ähnlicher Form auch beim Elvis anzutreffen.

Der Aufruf von VIM und Elvis erfolgt wie beim Vi durch eine Kommandozeile folgender Struktur:

Detail-Fragen lassen sich bei beiden Editoren am besten mit Hilfe der sehr umfangreichen (englischsprachigen) Online-Hilfe klären, die über das Kommando

  :help

erreicht werden kann.


Links und Literatur

Speziell für Nutzer, die erstmals mit einem Vi-ähnlichen Editor arbeiten, sei als möglicher Startpunkt auf die folgenden Dokumente verwiesen:

Eine Sammlung vieler nützlicher Informationen, Tipps und Links zum Vi, VIM und Elvis sind bei Wikipedia zu finden:

http://de.wikipedia.org/wiki/Vi
http://en.wikipedia.org/wiki/Vi
http://de.wikipedia.org/wiki/Vim
http://en.wikipedia.org/wiki/Elvis_(text_editor)

Zwei Hinweise auf Bücher zum Vim:

  Reinhard Wobst
  vim 7.3 GE-PACKT
  vi improved
    Befehle, Hilfe, Skripte
    Autokommandos, Faltungen, Syntaxerkennung
    Plug-ins, Arbeiten über Netzwerk, Verschlüsseln
  Verlag: mitp
  4. Aufl., 2012
  391 Seiten
  ISBN 978-3-8266-8190-5 

  Steve Oualline
  Vi IMproved - Vim
  Verlag: New Riders
  572 Seiten, Broschiert
  1. Aufl., 2001
  ISBN 0-7357-1001-5

Das englische Buch bezieht sich auf Vim 5.7 und kann online bezogen werden: http://www.truth.sk/vim/vimbook-OPL.pdf

Die VI LOVERS HOME PAGE [http://thomer.com/vi/vi.html] gibt einen Überblick über viele Vi-Derivate. Hier findet sich auch ein Verweis auf eine Übersicht über die neuen Möglichkeiten bei Elvis 2.x:

ftp://ftp.cs.pdx.edu/pub/elvis/README.html

Elvis kann über folgenden URL bezogen werden:

Nachfolgend noch eine Liste weiterer Links zu Vi- und Vim-Literatur:


ctags und xxd

Nützliche Zusatz-Werkzeuge für Vi-Nutzer sind die folgenden beiden Programme:

Beide Programme werden meist zusammen mit dem Vim verteilt und installiert.


Neuigkeiten bei VIM 5.x

VIM 5.0 aus dem Jahre 1998 zeichnet sich gegenüber der zuvor aktuellen Version VIM 4.6 durch viele Erweiterungen aus. Die folgende Liste gibt einen Überblick über die wichtigsten Neuerungen bei VIM 5.x (für Details s. Kommando :help version5):


VIM 4.6

Nachfolgend wird die vor VIM 5.x aktuelle Version 4.6 etwas näher vorgestellt. Diese Aussagen gelten weitgehend auch für die neue Version 5.x und zeigen interessante Erweiterungen gegenüber dem Vi.


Elvis 2.x


Holger Trapp

letzte Modifikation: 29.5.2014