Vim/Anwendungen/Befehls-Modus

Aus Foxwiki
Die Druckversion wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

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