Vim/Anwendungen/Befehls-Modus - Beschreibung
Befehls-Modus
Die Befehle des Befehls-Modus haben folgendes Format
[Anzahl] Befehl [Ort]
- Die meisten Befehle sind ein Zeichen lang
- Mit Anzahl wird ein Wiederholungsfaktor dür den folgenden Befehl angegeben
- So löscht zum Beispiel der Befehl x das Zeichen unter der Schreibmarke
- Wird 10x eingegeben, werden 10 Zeichen gelöscht
Einige Befehle nutzen einen optionalen Ort-Parameter, der angibt, wieviele Zeilen oder wieviel Text des Dokuments vom Befehl bearbeitet werden soll
- Der Ort-Parameter kann auch jeder Befehl sein, der die Schreibmarke bewegt
Allgemeine Befehle
:q
|
vi beenden (wenn keine Änderungen)
|
:q!
|
vi beenden und Änderungen verwerfen
|
Dateibefehle
:r Datei
|
Text aus der angegebenen Datei nach der momentanen Zeile einfügen
|
:w
|
Datei speichern
|
:w!
|
Datei speichern und Schreibschutz ignorieren
|
:w Datei
|
Speichern unter ... (angegebene Datei wird überschrieben)
|
:w >> Datei
|
Text an die angegebene Datei anhängen
|
:wq oder :x oder ZZ
|
Text speichern und vi beenden
|
Mehrere Dateien bearbeiten
Um mehr als eine Datei zu bearbeiten, können beim Aufruf mehrere Dateinamen übergeben oder nachträglich weitere Dateien geöffnet werden
:e Datei
|
Neue Datei bearbeiten
|
:n
|
Wechselt zur nächsten geladenen Datei
|
Blättern auf dem Bildschirm
Normalerweise ist der vi an die Pfeiltasten der Tastatur richtig angepasst
- Daneben gibt es noch folgende Möglichkeiten (Auswahl)
STRG-F
|
Eine Bildschirmseite vorwärts
|
STRG-B
|
Eine Bildschirmseite rückwärts
|
STRG-D
|
Eine halbe Bildschirmseite vorwärts
|
STRG-U
|
Eine halbe Bildschirmseite rückwärts
|
STRG-L
|
Bildschirm neu aufbauen (wenn zum Beispiel eine Nachricht kam)
|
Texteingabe
i
|
(insert) Eingabe links vom Cursor
|
I
|
Eingaben am Zeilenanfang
|
a
|
(append) Eingabe rechts vom Cursor
|
A
|
(appand) Eingabe am Zeilenende
|
o
|
Neue Zeile unter der aktuellen Zeile
|
O
|
Eingabe in der vorhergehenden Zeile, Spalte 1
|
Der Eingabemodus wird durch Drücken der [ESC]-Taste verlassen
Text ändern
~
|
Wechsel Groß-/Kleinbuchstaben (kein Abschluss mit [ESC])
|
r
|
Zeichen ersetzen (kein Abschluss mit [ESC])
|
R
|
Mehrere Zeichen ersetzen
|
s
|
Ein Zeichen ersetzen und zusätzliche Zeichen anschließend einfügen
|
cc
|
Gesamte Zeile ändern
|
cw
|
Wort ändern
|
C
|
ab Cursorposition bis Zeilenende ändern
|
J
|
Zeilen verbinden (nächste Zeile anhängen)
|
Text ausschneiden
x
|
Zeichen unter dem Cursor löschen
|
X
|
Zeichen vor dem Cursor löschen
|
dw
|
ab Cursorposition bis Wortende löschen
|
db
|
ab Cursorposition bis Wortanfang löschen
|
ndd
|
n ganze Zeile löschen
|
D
|
Ab Cursor bis Zeilenende löschen
|
Gelöschte Zeichen werden im anonymen Puffer abgelegt
Kopieren und Einfügen
- Yank wird in der Regel mit einem zweiten Steuerbuchstaben kombiniert, der angibt, wie viel Text gepuffert wird. (z. B. "yw", "y$")
- Vor "yy" kann noch die Anzahl der zu kopierenden Zeilen stehen (z. B. 12yy)
yy oder Y
|
(Yank) ganze Zeile in anonymen Puffer kopieren
|
yw
|
Bis zum nächsten Wort kopieren
|
Y$
|
Bis Zeilenende kopieren
|
p
|
Hinter dem Cursor einfügen
|
P
|
Vor dem Cursor einfügen
|
Suchen und Ersetzen
Außer 'fx' und 'Fx' müssen die Suchkommandos mit der Return-Taste abgeschlossen werden
fx
|
Zeichen 'x' in der momentanen Zeile suchen (vorwärts)
|
Fx
|
Zeichen 'x' in der momentanen Zeile suchen (rückwärts)
|
/str
|
String 'str' vorwärts in der Datei suchen
|
?str
|
String 'str' rückwärts in der Datei suchen
|
//
|
Letzten Suchbefehl wiederholen (vorwärts)
|
??
|
Letzten Suchbefehl wiederholen (rückwärts)
|
:%s/X/Y/g
|
Ersetzt alle 'X' durch 'Y'
|
Sonstige Kommandos
u
|
Letzten Befehl rückgängig machen
|
U
|
Aktuelle Zeile wiederherstellen
|
|
Letztes Kommando wiederholen
|
:!cmd
|
Verlässt vi temporär und führt das Kommando cmd aus (ggf. Rückkehr mit exit)
|
:r!cmd
|
Fügt die Ausgabe von cmd ab Cursorposition ein
|
!!cmd
|
Benutzt aktuelle Zeile als Eingabe für cmd und ersetzt durch dessen Ausgabe
|
Strg + g
|
Zeilennummer und Dateiinfo zeigen
|
Markierungen
v
|
Visuelles Markieren
|
mA
|
Marke A setzen
|
'A
|
Zur Marke A springen
|
d'A
|
Bis Marke A löschen
|
y'A
|
Kopieren bis Marke A
|
Einrücken und klammern
<<
|
rückt die aktuelle Zeile um eine Einrückungsbreite nach links
|
>>
|
rückt die aktuelle Zeile um eine Einrückungsbreite nach rechts
|
%
|
Bewegt die Einfügemarke zwischen korrespondierenden Klammern
|