Vim

Aus SchnallIchNet
Wechseln zu: Navigation, Suche

Zeilennummern

:set number

Zeilennummern angezeigen

Einrueckung verhindern

:set noai

Modis

Die folgende Tabelle zeigt die wichtigsten Übergänge vom Kommando-Modus in die anderen Modi sowie die anschließende Rückkehr in den Kommando-Modus:

Wechsel zum durch Rückkehr zum Kommando-Modus
Einfüge-Modus Kommandos zum Einfügen von Zeichen und Zeilen
i a I A c C o O
Esc
Ersetzungs-Modus R Esc
Kommandozeilen-Modus  : /  ? ! * Esc zum Abbruch
* NewLine bzw. LineFeed (Enter-Taste) zur Ausführung des Kommandos
visuellen Modus v (zeichenweise Markierung)
V (zeilenweise Markierung)
Ctrl-V (Markierung rechteckiger Blöcke)
* Abbruch durch die Wiederholung des einleitenden Kommandos oder auch Esc
* Manipulation des markierten Blocks durch ein entsprechendes Kommando, z.B. d, c oder ~ (Tilde)
Select-Modus gh (zeichenweise Markierung)
gH (zeilenweise Markierung)
gCtrl-H (Markierung rechteckiger Blöcke)
* Abbruch durch Esc
* Manipulation des markierten Blocks durch ein entsprechendes Kommando. Die Eingabe eines druckbaren Zeichens bewirkt das Löschen des markierten Bereichs und den anschließenden Übergang in den Einfüge-Modus, wobei das eingegebene Zeichen an der aktuellen Cursor-Position in den Editor-Puffer eingefügt wird. Der Einfüge-Modus wird wie gewohnt durch Esc beendet.
Ex-Modus Q vi bzw. visual


Cursor positionierung

Befehl Beschreibung
[n] G Sprung zu bestimmter Zeile
Beispiele:
25G für Zeile 25
G ohne n für die letzte Zeile
für Spalte 10
| ohne n für die erste Spalte
0 (Zahl Null) Sprung zum Zeilenanfang (Spalte 1)
$ Sprung zum Zeilenende (letzte Spalte)
[n] w n Wörter vorwärts
[n] b n Wörter rückwärts
[n] W n WÖRTER vorwärts (WORT ist eine Folge von Nicht-Whitespace-Zeichen)
[n] B n WÖRTER rückwärts (WORT ist eine Folge von Nicht-Whitespace-Zeichen)
[n] H Cursor an den Anfang der n-ten vom oberen Rand gezählten Zeile eines Fensters positionieren
M Cursor an den Anfang der in der Mitte eines Fensters befindlichen Zeile positionieren
[n] L Cursor an den Anfang der n-ten vom unteren Rand gezählten Zeile eines Fensters positionieren
[n] Ctrl-F n Seiten vorwärts blättern
[n] Ctrl-B n Seiten rückwärts blättern
[n] Ctrl-D n Zeilen vorwärts blättern; wenn n fehlt: standardmäßig eine halbe Seite blättern
[n] Ctrl-U n Zeilen rückwärts rollen; wenn n fehlt: standardmäßig eine halbe Seite blättern
[n] Ctrl-E n Zeilen vorwärts rollen
[n] Ctrl-Y n Zeilen rückwärts rollen
[n] zt Zeile n oder (falls n fehlt) die aktuelle Zeile an den oberen Fensterrand verschieben
[n] zz Zeile n oder (falls n fehlt) die aktuelle Zeile in die Mitte des Fensters verschieben
[n] zb Zeile n oder (falls n fehlt) die aktuelle Zeile an den unteren Fensterrand verschieben
 % sucht für bestimmte Text-Elemente, die unter oder hinter dem Cursor stehen, den bzw. die zugehörigen Partner
Folgende Text-Elemente werden akzeptiert:
* runde, eckige und geschweifte Klammern: ( [ { } ] )
* Begrenzer von Kommentaren der Programmiersprache C: /* und */
* folgende Direktiven des C-Präprozessors:
#if, #ifdef, #else, #elif, #endif
[n] f Zeichen nach rechts zum n-ten Zeichen gehen
[n] t Zeichen nach rechts bis vor das n-te Zeichen gehen
[n] F Zeichen nach links zum n-ten Zeichen gehen
[n] T Zeichen nach links bis hinter das n-te Zeichen gehen
[n] ; das letzte f-, F-, t- oder T-Kommando n Mal wiederholen
[n] , das letzte f-, F-, t- oder T-Kommando n Mal in entgegengesetzter Richtung wiederholen
m Marke Setzen einer Marke an der aktuellen Cursor-Position
Marke ist ein einzelner Buchstabe, wobei sich Kleinbuchstaben immer auf den aktuellen Editor-Puffer beziehen, wogegen Großbuchstaben für alle aktuell geladenen Puffer global gültig sind. Das Setzen einer Marke verändert die Cursor-Position nicht.
Beispiel:
ma setzt Marke a
` Marke (Accent grave) Sprung zu einer vorher gesetzten Marke
' Marke (Acccent aigu) Sprung zum ersten Nicht-Whitespace-Zeichen der durch Marke markierten Zeile