| |
| viki:03_modal [2020/12/28 17:55] – created - external edit 127.0.0.1 | viki:03_modal [2026/05/05 14:53] (current) – solar |
|---|
| 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. | 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 [[02_geschichte | 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. | Vim hingegen führt seine [[02_geschichte | Geschichte]] bis zu einer Zeit zurück, als man noch mit Lochstreifen und Fernschreiber-Terminals arbeitete. Der Editor startet in einem //Normalmodus//, in dem die Buchstaben- und Zahlentasten nicht zur Text-, sondern zur Befehlseingabe verwendet werden. Von hier aus kann man in verschiedene 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. | 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 ==== | ==== Normalmodus ==== |
| |
| 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. | Direkt nach dem Start befindet sich Vim im //Normalmodus//. 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 ==== | ==== Einfügemodus ==== |
| 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>-[//. | 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 [[https://de.wikipedia.org/wiki/ADM-3A#/media/Datei:KB_Terminal_ADM3A.svg | 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 [[https://de.wikipedia.org/wiki/Tastaturbelegung#/media/Datei:KB_United_States-NoAltGr.svg | US-Keyboards]]. Einer der Gründe, warum ich persönlich das [[https://de.wikipedia.org/wiki/Tastaturbelegung#US-International | US International Alternate]]<sup>[[software:start#notes_and_resources|[1]]]</sup> Layout benutze und weiterempfehle. Ein weiteres gutes Layouts gerade für Programmierer ist EurKEY<sup>[[https://de.wikipedia.org/wiki/EurKEY|[2]]]</sup>. | > Auf der [[https://de.wikipedia.org/wiki/ADM-3A#/media/Datei:KB_Terminal_ADM3A.svg | 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 [[https://de.wikipedia.org/wiki/Tastaturbelegung#/media/Datei:KB_United_States-NoAltGr.svg | US-Keyboards]]. Einer der Gründe, warum ich persönlich das [[https://de.wikipedia.org/wiki/Tastaturbelegung#US-International | US International Alternate]]<sup>[[software:start#notes_and_resources|[1]]]</sup> Layout benutze und weiterempfehle. Ein weiteres gutes Layout gerade für Programmierer ist EurKEY<sup>[[https://de.wikipedia.org/wiki/EurKEY|[2]]]</sup>. |
| |
| ==== Kommandozeilenmodus ==== | ==== 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. | Gibt man im Befehlsmodus einen Doppelpunkt ('':'') ein, gelangt man in den //Kommandozeilenmodus//. Dieser erlaubt die Eingabe komplexer Kommandos, wie Suchen / Ersetzen, den 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 ==== | ==== Ex-Modus ==== |
| |
| Mit ''Q'' wechselt man in den //Ex-Modus//: | Mit ''Q'' wechselt man in den //Ex-Modus//. Die meisten Vim-Nutzer werden hier wohl eher unfreiwillig landen: |
| |
| * Die Eingabe eines Doppelpunkts vor einem Befehl ist nicht notwendig. (In **ex** ist man quasi immer im Kommandozeilenmodus.) | * Die Eingabe eines Doppelpunkts vor einem Befehl ist nicht notwendig. (In **ex** ist man quasi immer im Kommandozeilenmodus.) |