Texteditoren von UNIX-Systemen


Unter Unix gibt es mehrere Editoren mit unterschiedlichen Eigenschaften:

edZeilenorientierter Editor von AT&T UNIX bis Version V
exErweiterung des ed-Editors, ebenfalls Zeilenorientiert
viDer vi ist ein bilschirmorientierter Editor (visual editor). Der vi ist in den ex-Editor umschaltbar. Der vi ist auch der Standard-Editor auf allen UNIX-Systemen und ist auf nahezu jeder Distribution verfügbar.
picopico ist einfach zu erlernen, da alle Tastenkombinationen am Bilschirm angezeigt werden. pico ist ein bildscirmorientierter Editor im Textmodus.
kwritekwrite ist der Texteditor des KDE-Desktops. kwrite ist leichter zu handhaben, da er unter einer Grafischen Benutzeroberfläche läuft und sich auch wunderbar mit der Maus bedienen lässt. Mit diesem Editor können auch Programmieraufgaben erledigt werden, oder Konfigurationsdateien bearbeitet werden. Vorsicht! Grafische Editoren verwenden Steuerzeichen, wobei ein Tabulator z.B. durch Leerzeichen ersetzt wird. Einige Konfigurationsdateien werden durch solche unauffälligen Fehler unbrauchbar.
emacs und xemacsDies ist ein absoluter allround Editor, mit integriertem Webbrowser, Taschenrechner oder sogar Mailsystem. Für diesen Editor gibt es sogar komplette Entwicklungsumgebungen für fast alle Programmiersprachen.


Der vi-Editor

Der vi arbeitet in drei verschiedenen Modi:

  1. Der Befehlsmodus:
    Jede vi-Sitzung beginnt im Befehlsmodus. Im Befehlsmodus können verschiedene vi-Befehle abgesetzt werden. Die Befehle bestehen aus wenigen Buchstaben und dienen zum Positionieren des Cursors, zum Löschen, Kopieren und Verschieben von Text, oder zum Umschalten in andere Modi.

  2. Der Eingabemodus:
    Im Eingabemodus wird nur Text eingegeben. Das Löschen, Kopieren usw. muss im Befehlsmodus ausgeführt werden. Früher musste der Cursor mit Hilfe der Buchstaben auf der Tastatur positioniert werden. Dies funktioniert immernoch, jedoch können fast alle vi-Implementierungen heute die Steuerung mit den Cursortasten.

  3. Der Last-Line-Modus:
    Bestimmte Operation können nur im Last-Line-Modus durchgeführt werden: Text suchen, Text laden und speichern, Setzen von Editoroptionen, Durchführen von Shell-Befehlen ohne vi zu verlassen und Verlassen des vi (auch ohne Abspeichern)


Der vi-Editor wird mit dem Befehl vi [option] [datei] aufgerufen.
Beim Aufruf des vi wird der Inhalt der Datei in einen Textpuffer im Hauptspeicher geladen. Nur innerhalb dieses Textpuffers werden Änderungen durchgeführt, so wird die Datei erst beim tatsächlichen Speichern verändert.

Der Inhalt einer bereits existierenden Datei wird am Bildschirm dargestellt. Der Cursor ist oben links positioniert. Die einzelnen Bilschirmzeilen, die noch nicht zum Textpuffer gehören, werden durch eine Tilde (~) eingeleitet.

Mit dem Befehl :wq schreibt man den Inhalt des Textpuffers zurück in die Datei. Die alten Inhalte der Datei werden damit überschrieben.

Mit einem einfachen :q beendet man die Sitzung, ohne die Datei zu überschreiben. Die Inhalte des Textpuffers werden somit verworfen.

Befehle des vi:

  • Cursorpositionierung:

    h
    ,
    Cursor nach links
    j
    ,
    Cursor nach unten
    k
    ,
    Cursor nach oben
    l
    ,
    Cursor nach rechts
    Return
    Beginn der nächsten Zeile
    ^
    Zeilenanfang
    $
    Zeilenende
    w
    Zum Anfang des nächsten Wortes
    b
    Zum Anfang des vorherigen Wortes
    Ctrl
    -
    B
    Vorhergehende Bilschirmseite
    Ctrl
    -
    F
    Nächste Bilschirmseite
    G
    Sprung zum Dateiende
    n
    G
    Sprung zu Zeile n der Datei
    Ctrl
    -
    L
    Baut den Bildschirm neu auf



  • Text einfügen (Eingabemodus):

    I
    /
    i
    Am Zeilenanfang / vor dem Cursor einfügen
    a
    /
    A
    nach dem Cursor / am Zeilenende anhängen
    O
    /
    o
    Öffnen einer neuen Zeile vor / nach der aktuellen Zeile



  • Text löschen / kopieren:

    x
    Löscht das Zeichen unter dem Cursor
    d
     
    w
    Löscht das aktuelle Wort
    d
     
    d
    Löscht die aktuelle Zeile
    d
     
    G
    Löscht bis ans Dateiende
    P
    /
    p
    Kopiert die gegenwärtige Zeile in den Hilfspuffer
    Y
    /
    y
    y
    Kopiert die gegenwärtige Zeile in den Hilfspuffer



  • Nach Mustern suchen:

    /
    muster Sucht vorwärts ab der Cursorposition nach muster
    ?
    muster Sucht rückwärts ab der Cursorposition nach muster
    n
    /
    N
    Wiederholt den letzten Suchvorgang (vorwärts / rückwärts)