Vim-Befehle: Spickzettel zum Suchen und Kopieren

Vim-Befehle nach Aufgaben sortiert: Speichern und Beenden, Bewegen, Bearbeiten, Suchen und Ersetzen, Fenster und Makros. Suchen Sie nach Taste oder Beschreibung und kopieren Sie jeden Befehl mit einem Klick.

111 Einträge

Modi wechseln

iEinfügemodus vor dem Cursor
aEinfügemodus nach dem Cursor
IEinfügen am Zeilenanfang (erstes Zeichen, das kein Leerraum ist)
AEinfügen am Zeilenende
oNeue Zeile unterhalb öffnen und einfügen
ONeue Zeile oberhalb öffnen und einfügen
EscZurück in den Normalmodus (alternativ Strg+[)
vVisueller Modus, zeichenweise markieren
VVisueller Modus, zeilenweise markieren
Strg+vVisueller Blockmodus (Spalten markieren)
RErsetzungsmodus: überschreibt Zeichen beim Tippen
:Befehlszeile öffnen (Ex-Befehle)

Speichern und beenden

:wDatei speichern
:w neu.txtUnter neuem Namen speichern
:qVim beenden (nur ohne ungespeicherte Änderungen)
:q!Beenden und Änderungen verwerfen
:wqSpeichern und beenden
:xSpeichern und beenden, schreibt nur bei Änderungen
ZZSpeichern und beenden wie :x
ZQBeenden ohne Speichern wie :q!
:waAlle geöffneten Puffer speichern
:qaAlle Fenster schließen und beenden
:w !sudo tee %Mit Root-Rechten speichern, wenn die Datei ohne sudo geöffnet wurde (klassisches Vim; in Neovim nicht zuverlässig)

Bewegen

h j k lEin Zeichen nach links, unten, oben, rechts
wZum Anfang des nächsten Wortes
WZum nächsten WORT (nur Leerraum trennt, Satzzeichen zählen mit)
bZum Anfang des vorigen Wortes
eZum Ende des Wortes
0Zum Zeilenanfang
^Zum ersten Zeichen der Zeile, das kein Leerraum ist
$Zum Zeilenende
ggZum Anfang der Datei
GZum Ende der Datei
:42Zu Zeile 42 springen (alternativ 42G)
Strg+dEine halbe Bildschirmseite nach unten
Strg+uEine halbe Bildschirmseite nach oben
Strg+fEine ganze Seite nach unten
Strg+bEine ganze Seite nach oben
%Zur passenden Klammer springen ( ), [ ], { }
fxZum nächsten Zeichen x in der Zeile (F rückwärts)
txBis vor das nächste Zeichen x in der Zeile
;Letztes f, t, F oder T wiederholen (, in Gegenrichtung)
H M LZum oberen, mittleren, unteren Bildschirmrand
zzAktuelle Zeile in die Bildschirmmitte scrollen
Strg+oZur vorherigen Sprungposition zurück (Strg+i vorwärts)

Bearbeiten

xZeichen unter dem Cursor löschen
ddZeile löschen (landet im Register, also wie Ausschneiden)
3ddDrei Zeilen löschen; eine Zahl vor dem Befehl wiederholt ihn
dwBis zum nächsten Wortanfang löschen
DBis zum Zeilenende löschen (wie d$)
cwWort ändern: löschen und in den Einfügemodus
ccGanze Zeile ändern
ciwInneres Wort ändern, egal wo der Cursor im Wort steht
ci"Text zwischen Anführungszeichen ändern (auch ci(, ci{)
dapGanzen Absatz samt Leerzeile löschen
yyZeile kopieren (yank)
yiwWort unter dem Cursor kopieren
pNach dem Cursor bzw. unter der Zeile einfügen
PVor dem Cursor bzw. über der Zeile einfügen
uRückgängig
Strg+rWiederherstellen
.Letzte Änderung wiederholen
JNächste Zeile an die aktuelle anhängen
>>Zeile einrücken (<< ausrücken)
~Groß- und Kleinschreibung des Zeichens umschalten
gUiwWort in Großbuchstaben (guiw in Kleinbuchstaben)
rxEinzelnes Zeichen durch x ersetzen
Strg+aZahl unter dem Cursor um 1 erhöhen (Strg+x verringern)

Suchen und ersetzen

/musterVorwärts suchen
?musterRückwärts suchen
nNächster Treffer (N vorheriger)
*Wort unter dem Cursor vorwärts suchen (# rückwärts)
:s/alt/neu/In der aktuellen Zeile den ersten Treffer ersetzen
:s/alt/neu/gIn der aktuellen Zeile alle Treffer ersetzen
:%s/alt/neu/gIn der ganzen Datei ersetzen
:%s/alt/neu/gcIn der ganzen Datei ersetzen, jeden Treffer bestätigen
:10,20s/alt/neu/gNur in den Zeilen 10 bis 20 ersetzen
:nohSuchhervorhebung ausblenden
:g/muster/dAlle Zeilen löschen, die das Muster enthalten (:v/muster/d alle anderen)
:set ignorecase smartcaseGroß- und Kleinschreibung ignorieren, außer das Muster enthält Großbuchstaben

Fenster, Puffer und Tabs

:e datei.txtDatei öffnen
:sp datei.txtFenster horizontal teilen
:vsp datei.txtFenster vertikal teilen
Strg+w wZum nächsten Fenster wechseln
Strg+w hZum Fenster links (j, k, l für unten, oben, rechts)
Strg+w qAktuelles Fenster schließen
Strg+w =Alle Fenster gleich groß machen
:lsOffene Puffer auflisten
:bnNächster Puffer (:bp vorheriger)
:bdPuffer schließen
:tabnewNeuen Tab öffnen
gtNächster Tab (gT vorheriger)

Makros, Register und Marken

qaMakro in Register a aufzeichnen; q beendet die Aufnahme
@aMakro aus Register a abspielen
@@Zuletzt abgespieltes Makro wiederholen
"ayyZeile in Register a kopieren
"apInhalt von Register a einfügen
"+yIn die Zwischenablage des Systems kopieren (Vim mit +clipboard, Neovim mit Clipboard-Anbindung)
:regInhalt aller Register anzeigen
maMarke a an der Cursorposition setzen
'aZur Zeile der Marke a springen; mit Backtick statt Apostroph zur genauen Position

Einstellungen und Hilfe

:set numberZeilennummern einblenden (:set nonumber aus)
:set relativenumberRelative Zeilennummern, praktisch für Sprünge wie 5j
:syntax onSyntaxhervorhebung einschalten
:set tabstop=4 shiftwidth=4 expandtabEinrückung mit vier Leerzeichen statt Tabs
:set hlsearchSuchtreffer hervorheben
:set listUnsichtbare Zeichen wie Tabs und Zeilenenden zeigen
:!lsShell-Befehl ausführen, ohne Vim zu verlassen
:r datei.txtInhalt einer Datei unter dem Cursor einfügen
:help befehlEingebaute Hilfe zu einem Befehl
vimtutorInteraktiver Kurs, im Terminal aufrufen (in Neovim :Tutor)

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Vim-Befehle verstehen und schnell finden

Dieser Vim Spickzettel sammelt 111 Befehle und Tastenkürzel nach Aufgaben: Modi wechseln, Speichern und Beenden, Bewegen, Bearbeiten, Suchen und Ersetzen, Fenster und Puffer sowie Makros und Register. Geben Sie oben einen Begriff ein, etwa „ersetzen“ oder „:wq“, und kopieren Sie den passenden Befehl mit einem Klick. Die Befehle gelten für Vim und genauso für Neovim; wo sich beide unterscheiden, steht ein Hinweis.

Vim arbeitet mit Modi. Im Normalmodus sind Tasten Befehle, erst i, a oder o wechseln in den Einfügemodus, und Esc bringt Sie zurück. Die meisten Vim Tastenkürzel lassen sich kombinieren: Ein Operator wie d (löschen), c (ändern) oder y (kopieren) wird mit einer Bewegung verbunden, also dw für „bis zum nächsten Wort löschen“ oder ci" für „Text in Anführungszeichen ändern“. Eine Zahl davor wiederholt den Befehl, 3dd löscht drei Zeilen. Wer dieses Prinzip verstanden hat, braucht kein Vim Cheat Sheet mehr für jede Kombination.

Die häufigste Frage ist, wie man Vim beenden kann: Drücken Sie Esc, dann :q! und Enter, um ohne Speichern zu verlassen, oder :wq, um vorher zu speichern. Für die Shell drumherum hilft der Spickzettel Bash-Befehle, für Versionsverwaltung die Git-Befehle.

Anleitung: Vim-Befehle in 3 Schritten

  1. Im Feld „Suchen“ eine Taste wie :wq oder eine Aufgabe wie „ersetzen“ eintippen.
  2. Unter „Gruppe“ einen Bereich wählen, etwa „Speichern und beenden“, „Bewegen“ oder „Makros, Register und Marken“.
  3. Den passenden Vim-Befehl mit „Kopieren“ übernehmen und im Normalmodus eingeben.

Typische Anwendungsfälle

  • Vim auf dem Server: Eine Konfigurationsdatei per SSH bearbeiten, speichern und Vim sicher beenden.
  • Schneller bearbeiten: Bewegungen und Textobjekte nachschlagen, um ohne Maus durch Dateien zu springen.
  • Wiederkehrende Änderungen: Ein Makro aufzeichnen und auf viele Zeilen anwenden.
  • Umstieg auf Neovim: Die gemeinsamen Grundbefehle als Spickzettel griffbereit haben.
Fragen

Häufige Fragen

Wie kann ich Vim beenden?

Drücken Sie zuerst Esc, damit Sie im Normalmodus sind. Dann tippen Sie :q und Enter. Hat die Datei ungespeicherte Änderungen, verwerfen Sie sie mit :q! oder speichern und beenden mit :wq bzw. ZZ.

Was ist der Unterschied zwischen :wq und :x?

Beide speichern und beenden. :wq schreibt die Datei immer, auch ohne Änderungen, und setzt damit die Änderungszeit neu. :x und ZZ schreiben nur, wenn sich etwas geändert hat.

Gelten die Befehle auch für Neovim?

Ja, Neovim übernimmt die Bedienung von Vim fast vollständig. Unterschiede gibt es bei Details wie dem Speichern mit sudo über :w !sudo tee % oder dem Kurs, der in Neovim :Tutor heißt.

Wie suche und ersetze ich in der ganzen Datei?

Mit :%s/alt/neu/g. Das Prozentzeichen steht für alle Zeilen, g ersetzt alle Treffer pro Zeile. Hängen Sie c an, fragt Vim bei jedem Treffer nach. Für reguläre Ausdrücke hilft der Regex-Tester.

Wie kopiere ich aus Vim in die Zwischenablage?

Mit "+y (zum Beispiel "+yy für eine Zeile), sofern Vim mit Clipboard-Unterstützung gebaut ist. Prüfen lässt sich das mit vim --version: Dort sollte +clipboard stehen.

Wie mache ich in Vim eine Änderung rückgängig?

Im Normalmodus mit u. Rückgängig gemachte Schritte stellen Sie mit Strg+r wieder her. U macht alle Änderungen in der zuletzt bearbeiteten Zeile rückgängig.

Wie zeige ich Zeilennummern in Vim an?

Mit :set number, relative Nummern zeigt :set relativenumber. Dauerhaft wird die Einstellung, wenn Sie die Zeile ohne Doppelpunkt in die .vimrc schreiben.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge