| vi-Quick-Reference | |||
| Shortcuts für die vi-Bedienung | |||
| Text einfügen | |||
| a | Hinter dem Cursor einfügen | ||
| A | Am Ende der Zeile einfügen | ||
| i | Vor dem Cursor einfügen | ||
| I | Am Zeilenanfang einfügen | ||
| o | Zeile unter aktueller Zeile einfügen | ||
| O | Zeile über aktueller Zeile einfügen | ||
| [Ctrl]-i / [Tab] | Tabulatorzeichen einfügen | ||
| [Ctrl]-v | Nächstes Zeichen uninterpretiert einfügen | ||
| [Ctrl]-x | HexZeichen einfügen | ||
| [Esc] | Verlassen des Einfügemodus | ||
| Text verändern & löschen | |||
| ncw | Aktuelles oder n Wörter ändern | ||
| ncW | Aktuelles oder n Wörter ändern (Leerzeichen als Trenner) | ||
| ncc / nS | Aktuelle oder n Zeilen ändern | ||
| nC | Text von der aktuellen Cursorposition bis zum aktuellen oder nten Zeilenende ändern | ||
| ndd | Aktuelle oder n Zeilen löschen | ||
| D | Bis zum aktuellen Zeilenende löschen | ||
| ndw | Aktuelles oder n Wörter löschen | ||
| ndW | Aktuelles oder n Wörter löschen (Leerzeichen als Trenner) | ||
| nd} | Bis zum nächsten oder nten Absatz löschen | ||
| d^ | Bis zum aktuellen Zeilenanfang rückwärts löschen | ||
| d/Muster | Bis zum nächsten Vorkommen des Musters löschen | ||
| dn | Bis zum nächsten Vorkommen des letzten Musters löschen | ||
| dfx | Alle Zeichen bis zum nächsten x auf der aktuellen Zeile (einschließlich) löschen | ||
| dtx | Alle Zeichen bis zum nächsten x auf der aktuellen Zeile (ausschließlich) löschen | ||
| dL | Bis zum Bildschirmende löschen | ||
| dG | Bis zum Dateiende löschen | ||
| p | Zuletzt gelöschten/kopierten Text hinter dem Cursor einfügen | ||
| "np | Text aus ntem Löschbuffer hinter dem Cursor einfügen (9 möglich) | ||
| P | Zuletzt gelöschten/kopierten Text vor dem Cursor einfügen | ||
| "nP | Text aus ntem Löschbuffer vor dem Cursor einfügen (9 möglich) | ||
| Text verändern & löschen | |||
| nr | Ein oder n Zeichen unter/ab dem Cursor mit einem Zeichen n Mal ändern | ||
| R | Text ab der Cursorposition ändern | ||
| ns | Ein oder n Zeichen ändern, dann einfügen | ||
| u | Letzte Änderung rückgängig machen | ||
| U | Aktuelle Zeile restaurieren | ||
| nx | Ein oder n Zeichen ab dem Cursor löschen | ||
| nX | Ein oder n Zeichen links vom Cursor löschen | ||
| nJ | Zeile mit nächster oder den nächsten n Zeilen zusammenfügen | ||
| . | Letzte Änderung wiederholen | ||
| ~ | Groß- und Kleinschreibung vertauschen | ||
| :r Dateiname | Einlesen der Datei Dateiname unter die aktuelle Zeile | ||
| Text kopieren & verschieben | |||
| nyy / nY | Aktuelle oder n Zeilen in den Buffer kopieren | ||
| "xnyy / xnY | Aktuelle oder n Zeilen in Buffer x kopieren | ||
| "xd | Aktuelle Zeile in Buffer x verschieben | ||
| "Xd | Aktuelle Zeile in Buffer x anhängen und löschen | ||
| "xp | Inhalt von Buffer x nach der aktuellen Zeile einfügen | ||
| "xP | Inhalt von Buffer x vor der aktuellen Zeile einfügen | ||
| y]] | Von aktueller Cursorposition bis zur nächsten Abschnittsüberschrift kopieren | ||
| ye | Von aktueller Cursorposition bis zum Wortende kopieren | ||
| y/Muster | Von aktueller Cursorposition bis zum nächsten Vorkommen des Musters kopieren | ||
| Befehle auf der Statuszeile | |||
| / | Vorwärts gerichtete Suche nach einem Muster | ||
| ? | Rückwärts gerichtete Suche nach einem Muster | ||
| n | Gleichgerichtete Suche nach letztem Muster | ||
| N | Umgekehrt gerichtete Suche nach letztem Muster | ||
| : | Aufrufen eines ex-Befehls | ||
| ! | Aufrufen eines Shell-Kommandos, das als Eingabe den durch Cursorposition und Bewegungskommando definierten Text verwendet und diesen durch die Ausgabe des Kommandos ersetzt | ||
| Text speichern & beenden | |||
| :x / ZZ | vi beenden, Datei nur sichern, wenn Änderungen vorgenommen wurden | ||
| :w | Datei sichern | ||
| :w Dateiname | Datei in Datei Dateiname sichern | ||
| :w! | Datei sichern trotz Schreibschutz | ||
| :q! | Datei trotz Änderungen ungesichert verlassen | ||
| :n | Nächste Datei bearbeiten | ||
| Cursorbewegungen | |||
| nG | Springen des Cursors zum Dateiende oder zur nten Zeile | ||
| ^ / 0 | Springen des Cursors zum Anfang der aktuellen Zeile <-- | ||
| n$ | Springen des Cursors zum Ende der aktuellen oder nten Zeile --> | ||
| nb | Springen des Cursors zum Anfang des aktuellen oder nten Wortes <-- | ||
| nB | Springen des Cursors zum Anfang des aktuellen oder nten Wortes (Leerzeichen als Trenner) <-- | ||
| ne | Springen des Cursors zum Ende des aktuellen oder nten Wortes --> | ||
| nE | Springen des Cursors zum Ende des aktuellen oder nten Wortes (Leerzeichen als Trenner) --> | ||
| nw | Springen des Cursors zum Anfang des nächsten oder nten Wortes --> | ||
| nW | Springen des Cursors zum Anfang des nächsten oder nten Wortes (Leerzeichen als Trenner) --> | ||
| [Enter] | Springen des Cursors zum ersten Zeichen der nächsten Zeile --> | ||
| nj | Cursor eine oder n Zeilen nach unten bewegen --> | ||
| nk | Cursor eine oder n Zeilen nach oben bewegen <-- | ||
| nl | Cursor ein oder n Zeichen vor bewegen (nur bis zum Ende der Zeile) --> | ||
| nh / [Backspace] | Cursor ein oder n Zeichen zurück bewegen (nur bis zum Anfang der Zeile) <-- | ||
| n[Ctrl]-f | Cursor eine oder n Seiten vor bewegen --> | ||
| n[Ctrl]-b | Cursor eine oder n Seiten zurück bewegen <-- | ||
| t | Springen des Cursors zur nächsten Tabulatorposition --> | ||
| H | Cursor am Bildschirmanfang positionieren | ||
| M | Cursor in der Bildschirmmitte positionieren | ||
| L | Cursor am Bildschirmende positionieren | ||
| mx | Marker x setzen | ||
| 'x | Springen des Cursors zur Zeile mit Marker x | ||
| `x | Springen des Cursors zum Zeichen mit Marker x | ||
| Sonstiges | |||
| [Ctrl]-e | Zeilenweise vorwärts scrollen ohne Bewegung des Cursors --> | ||
| [Ctrl]-y | Zeilenweise rückwärts scrollen ohne Bewegung des Cursors <-- | ||
| :se ai/noai | Zeilen (nicht) automatisch einrücken (set autoindent/noautoindent) | ||
| :se nu/nonu | Zeilennummern anzeigen/ausblenden (set numbers/nonumbers) | ||
| :n,n# | Zeile n bis Zeile n mit Zeilennummern anzeigen | ||
|
n ist immer optional und eine Zahl x ist immer genau EIN Zeichen [..] ist immer eine Taste |
|||