Vim/Anwendung
topic - Kurzbeschreibung
Beschreibung
Installation
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Fehlerbehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
Man-Pages
Info-Pages
Links
Projekt
Weblinks
TMP
Einführung
Der Editor vi (visual) ist ein bildschirmorientierter Editor, das heißt der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen
Vim verfügt über drei verschiedene Arbeitsmodi
- Diese werden im folgenden kurz beschrieben
- Die wichtigsten Tastenkürzel zur Arbeit mit dem Vim werden im Artikel Vim/Shortcuts erläutert
Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus
- Die Arbeit spielt sich wie beim ed immer in zwei Ebenen ab
- Kommandomodus
- Freies Positionieren innerhalb des Textes
- Umsetzen von Textblöcken
- Schreiben und Lesen von Dateien
- Löschen von Textblöcken und Aufruf von UNIX-Kommandos
Eingabemodus
- Einfügen von Text
- Überschreiben vorhandener Textpassagen
- Das Umschalten zwischen den Modi erfolgt mit der [ESC]-Taste
- Die Handhabung des Kommandomodus des vi macht die Bedienung für den Anfänger etwas ungewohnt
- Die Cursorpositionierung erfolgt mit verschiedenen Tasten, für die Eingabe von Dateibefehlen oder anderen Funktionen (z. B. Suchen/ersetzen) ist die Eingabe eines Doppelpunktes nötig
- Man befindet sich dann in ex-Modus, der ähnliche Eigenschaften hat, wie der Editor ed
Starten
vi [Dateiname]
- Ist die Datei vorhanden, wird sie in den Editorpuffer geladen, andernfalls wird sie neu angelegt
- Wird der vi ohne die Angabe eines Dateinamens gestartet, ist der Bildschirm auf der linken Seite mit Tilden (~) gefüllt
- Jede leere Zeile hinter dem Ende der Datei wird auf diese Art dargestellt
- Am unteren Ende des Bildschirms wird der Dateiname anzeigt, falls eine existierende Datei angegeben wurde
- Die Größe der Datei wird ebenfalls angezeigt
- Wenn diese Informationen nicht angezeigt werden, könnte es sein, dass der Terminaltyp falsch gesetzt ist
- Dann sollte der vi mit :q! und [ENTER] verlassen und der Terminaltyp korrekt eingestellt werden
Falls die angegebene Datei nicht existiert, wird auf folgende Art angezeigt, dass es sich um eine neue Datei handelt
"newfile" [New file]
Nach dem Start ohne Dateinamen, ist die unterste Bildschirmzeile leer
Hilfen
man vi | Manualpage von vi aufrufen |
:h <Stichwort> | Hilfe aufrufen (mit :q verlassen) |
vimtutor | Lernprogramm |
Befehlsmodus
- Nach dem Aufruf befindet sich Vim im Befehlsmodus
Vergleichbar mit Klicken durch die Menüs eines grafischen Programms
Tastenkürzel | Aktion |
---|---|
j | Schritt abwärts |
k | Schritt aufwärts |
h | Schritt nach links |
l | Schritt nach rechts |
dd | löscht eine komplette Zeile an der Cursorposition |
u | macht letzte Änderung rückgängig |
STRG + R | macht u rückgängig |
ZZ | speichert die Datei und beendet Vim |
Einfügemodus
Befindet sich der Vim im Einfügemodus, so kann der Text nach Belieben editiert werden
Tastenkürzel | Aktion |
---|---|
i | Editiermodus an der Cursorposition starten |
a | Editiermodus eine Stelle hinter der Cursorposition starten |
o | Zeile unterhalb der Cursorposition einfügen und Editiermodus starten |
ESC | Editiermodus verlassen |
Kommandozeilenmodus
Neben Befehlen, die zum Bewegen durch die Datei oder deren Modifikation dienen, kann man im Kommandozeilenmodus auch Parameter des Programms selber ändern, Dateien laden und/oder (Shell-) Befehle ausführen
- Das Verhalten ist mit einer Mini-Kommandozeile vergleichbar
Tastenkürzel | Aktion |
---|---|
:w | Datei speichern |
:w name | Datei unter name speichern |
:q! | Vim ohne Speichern beenden |
/ausdruck | Datei nach ausdruck durchsuchen |
:e dateiname | Datei dateiname öffnen |
:e # | zur zuvor bearbeiteten Datei zurückkehren |
Cursorpositionierung
Normalerweise ist der vi an die Pfeiltasten der Tastatur richtig angepasst
- Daneben gibt es noch folgende Möglichkeiten (Auswahl)
h | Zeichen links (auch Backspace) |
l | Zeichen rechts (auch blank) |
k | Zeile höher |
j | Zeile tiefer |
b | Wortanfang |
e | Wortende |
w | Anfang nächstes Wort |
H | Anfang erste Zeile des Bildschirms |
L | Anfang letzten Zeile des Bildschirms |
0 (Null) | Zeilenanfang |
$ | Zeilenende |
RETURN | nächste Zeile |
nG | (Go) Gehe zu Zeile n. n ist eine Zeilennummer
|
% | sucht zur aktuellen Klammer die korrespondierende öffnende oder schließende Klammer |
( | Cursor zum Anfang des Satzes bewegen |
) | Cursor zum Anfang des nächsten Satzes bewegen |
{ | Cursor zum Anfang des Absatzes bewegen |
} | Cursor zum Anfang des nächsten Absatzes bewegen |
Befehls-Modus
Tipps und Tricks
Zeile verschieben
- Zeile mit dd löschen
- Zur neuen Position wechseln
- mit p (hinter dem Cursor)
- P (vor dem Cursor) einfügen
Zeile kopieren
- Zeile mit yy in den Puffer kopieren
- Zur neuen Position wechseln
- Zeile mit p (vor dem Cursor)
- oder P (nach dem Cursor) einfügen
Ein paar einfache Tricks
- zwei aufeinander folgende Zeichen vertauschen: xp
- zwei aufeinander folgende Zeilen vertauschen: ddp
- eine Zeile duplizieren: yyp
Mehrere Zeilen verschieben oder kopieren
Mehrere Zeilen werden durch Voranstellen der Zeilenzahl vor dd oder yy in den Puffer gebracht. Alles Weitere wie oben
Weitere Puffer
- Neben dem anonymen Puffer können 26 weitere Pufferbereiche verwendet werden, die durch einen Buchstaben ("a" - "z") bezeichnet werden
- Dazu wird ein Doppelapostroph und der Puffername vor den Befehl gestellt, zum Beispiel
"ayy | kopiere Zeile in Puffer a |
"b6yy | kopiere die nächsten 6 Zeilen in Puffer b |
"ap | Inhalt Puffer a nach dem Cursor einfügen |
Blöcke von einer Datei in die andere übertragen
- Mit dem Kommando :e <dateiname> kann eine neue Datei bearbeitet werden, ohne den vi zu verlassen
- vi mit der ersten Datei aufrufen, z. B. : vi foo.txt
- Textblock mit den Yank-Kommando in einen Puffer schreiben: "f10yy (10 Zeilen in Puffer f)
- neue Datei holen, z. B. : :e bar.txt
- an die gewünschte Stelle gehen und Puffer einfügen: "fp