User Tools

Site Tools


viki:03_modal

Vim ist keine Insel

3. Modales Editieren

Die meisten modernen Editoren haben nur einen Betriebsmodus. Tastenanschläge werden als Texteingabe interpretiert, während Befehle (wie zum Laden oder Speichern einer Datei, dem Suchen eines Textes o.ä.) durch <Alt>, <AltGr> oder <Strg> qualifiziert, oder per Maus über eine grafische Oberfläche eingegeben.

Vim hingegen führt seine Geschichte bis zu einer Zeit zurück, als man noch mit Lochstreifen und Fernschreiber-Terminals arbeitete. Der Editor startet in einem Befehlsmodus, in dem die Buchstaben- und Zahlentasten nicht zur Text-, sondern zur Befehlseingabe verwendet werden. Von hier aus kann man in verscheidene andere Modi wechseln, den Einfügemodus, den Kommandozeilenmodus und noch ein paar mehr.

An dieser Stelle gibt es nur eine knappe, bewusst vereinfachende Übersicht über die wichtigsten Modi. Wir werden jedem einzelnen (und einigen weiteren) noch mehrfach begegnen, und genauer beschreiben.

Normal- / Befehlsmodus

Direkt nach dem Start befindet sich Vim im Befehlsmodus. Wie schon erwähnt, werden Tastenanschläge in diesem Modus als Befehle interpretiert, die üblicherweise aus einer Kombination von Kommando und Bewegung zusammengesetzt sind.

Einfügemodus

Im Einfügemodus fließen Eingaben in den aktuellen Text ein, wie bei einem “normalen” Editor oder Textverarbeitung.

Wie aus den übrigen Modi auch gelangt man von hier zurück in den Befehlsmodus über die eine Sondertaste im Repertoire von Vim – <Esc> oder <Strg>-[.

Auf der Tastatur der ADM-3A, auf der Bill Joy ex / vi entwickelte, lag die <Esc>-Taste dort wo auf heutigen Tastaturen die <Tab>-Taste liegt, und war somit für Zehn-Finger-Schreiber ebenso bequem erreichbar wie es <Strg>-[ noch heute ist – zumindest auf US-Keyboards. Einer der Gründe, warum ich persönlich das US International Alternate[1] Layout benutze und weiterempfehle. Ein weiteres gutes Layouts gerade für Programmierer ist EurKEY[2].

Kommandozeilenmodus

Gibt man im Befehlsmodus einen Doppelpunkt (:) ein, gelangt man in den Kommandozeilenmodus. Dieser erlaubt die Eingabe komplexer Kommandos, wie Suchen / Ersetzen, dem Aufruf externer Befehle (z.B. sort) o.ä.; man kann die Eingabe eines Befehls mit <Esc> oder <Strg>-[ abbrechen, was (wie die Ausführung des Befehls mit der Eingabetaste) zurück in den Befehlsmodus führt.

Ex-Modus

Mit Q wechselt man in den Ex-Modus:

  • Die Eingabe eines Doppelpunkts vor einem Befehl ist nicht notwendig. (In ex ist man quasi immer im Kommandozeilenmodus.)
  • Nach der Eingabe eines Befehls bleibt man im Ex-Modus. (In ex gibt es keinen Befehlsmodus.)
  • Die Anzeige des aktuellen Text wird nicht aktualisiert. (In ex gibt es keinen “visual mode”.)

Aus dem Ex-Modus zurück in den Normal- / Befehlsmodus wechselt man auf dieselbe Weise wie seit 1978 – mit dem Befehl :visual / :vi.

Visueller Modus

Im Visuellen Modus können Textbereiche zeichenweise, zeilenweise, oder blockweise selektiert werden. Anschließend kann man den ausgewählten Text mit den Funktionen des Befehls- oder Kommandozeilenmodus bearbeiten.

In den folgenden Kapiteln gehen wir genauer auf die einzelnen Modi und ihre Möglichkeiten ein.


Nächstes Kapitel -- 4. Erste Schritte

viki/03_modal.txt · Last modified: 2020/12/28 17:55 by solar