vi - Kurzversion
Von Peter H. Rüegg (peach auf trash.net)
Aufrufen und Verlassen
| start vi | vi filename [CR] |
| vi verlassen mit schreiben | :wq [CR] |
| vi verlassen ohne schreiben | :q [CR] |
| vi verlassen unter zwang | :q! [CR] |
Cursor bewegen
| aufwärts | k |
| abwärts | j |
| rechts | l |
| links | h |
| wortende vorwärts | e |
| wortbeginn vorwärts | w |
| wortbeginn rückwärts | b |
| zeilenanfang | ^ |
| zeilenende | $ |
| letzte zeile in file | G |
| n-te zeile in file | nG |
Fenster verschieben
| um ½-bildschirmseite abwärts | [CTRL] d |
| um ½-bildschirmseite aufwärts | [CTRL] u |
| um 1 bildschirmseite vorwärts | [CTRL] f |
| um 1 bildschirmseite rückwärts | [CTRL] b |
Text einfügen
| einfügen links vom cursor | i text [ESC] |
| einfügen am zeilenanfang | I text [ESC] |
| einfügen rechts vom cursor | a text [ESC] |
| einfügen am zeilenende | A text [ESC] |
| einfügen neuer zeilen nach aktueller zeile | o text [ESC] |
| einfügen neuer zeilen vor aktueller zeile | O text [ESC] |
Text ersetzen
| ersetzen von einem zeichen | r zeichen |
| ersetzen von n wörtern | ncw text [ESC] |
| ersetzen bis zum zeilenende | C text [ESC] |
| ersetzen von n ganzen zeilen | ncc text [ESC] |
| ersetzen von n zeichen | ns text [ESC] |
| ersetzen von n ganzen zeilen | nS text [ESC] |
| überschreiben von zeichen | R text [ESC] |
Sonderbefehle im Einfügemodus
| löscht das zuletzt eingegebene zeichen | [CTRL] h / [BS] |
| löscht das zuletzt eingegebene wort | [CTRL] w |
| beginnt neue zeile | [CR] |
| für einfügen von sonderzeichen | [CTRL] v |
| beendet den einfügemodus | [ESC] |
Löschen
| n zeichen löschen über dem cursor | nx |
| n zeichen löschen vor dem cursor | nX |
| n wörter löschen | ndw |
| n zeilen löschen | ndd |
| löscht bis zum zeilenende | D |
Rückgängig machen
| macht das vorhergehende änderungskommando rückgängig | u |
| macht alle änderungen in der aktuellen zeile rückgängig | U |
Kopieren und Bewegen
| kopieren n zeichen in den allgemeinen puffer | ny [SPACE] |
| kopieren n zeichen in den puffer x | "xnY [SPACE] |
| kopieren n wörter in den allgemeinen puffer | nyw |
| kopieren n wörter in den puffer x | "xnyw |
| kopieren n zeilen in den allgemeinen puffer | nY |
| kopieren n zeilen in den puffer x | "xnY |
| fügt den inhalt des allgemeinen puffers nach der aktuellen zeile an | p |
| fügt den inhalt des puffers x nach der aktuellen zeile an | "xp |
| fügt den inhalt des allgemeinen puffers vor der aktuellen zeile an | P |
| fügt den inhalt des puffers x vor der aktuellen zeile an | "xP |
Parameter von vi
| alle optionen abfragen | :set all |
| jede zeile mit zeilennummer (nur auf bildschirm) | .set nu |
| rücksetzung der zeilennummerierung | :set nonu |
| automatischer linker randausgleich | :set ai |
| zurücksetzung der randangleichung | :set noai |
| text wird immer nachgeführt | :set redraw |
Substituieren von Text
| in zeilen m bis n zeichenfolge str1 durch str2 ersetzen | :m,ns/str1/str2/ |
| in der n-ten zeile ersetzen | :ns/str1/str2/ |
| in der aktuellen zeile | :s/str1/str2/g |
Suchbefehle
| durchsucht buffer vorwärts nach suchbegriff | /suchbegriff [CR] |
| durchsucht buffer rückwärts nach suchbegriff | ?suchbegriff [CR] |
| wiederholt das letzte suchkommando | n |
| wiederholt das letzte suchkommando in umgekehrter richtung | N |
Shell Befehle
| shell-kommando ausführen | !cmd [CR] |
| shell aufrufen | :sh[CR] |
| rückkehr aus shell | [CTRL] d |
