- Veröffentlicht am
Vim - Tastenkombinationen und Verwendung
Viewed
times
- Autoren
- Name
Global
- :help Schlüsselwort - Hilfe für Schlüsselwort öffnen
- :saveas Datei - Datei speichern als
- :close- Aktuelles Fenster schließen
- K - Man-Seite für das Wort unter dem Cursor öffnen
Cursor-Bewegung
- h - Cursor nach links bewegen
- j - Cursor nach unten bewegen
- k - Cursor nach oben bewegen
- l - Cursor nach rechts bewegen
- H - Zum oberen Bildschirmrand bewegen
- M - In die Mitte des Bildschirms bewegen
- L - Zum unteren Bildschirmrand bewegen
- w - Vorwärts zum Anfang eines Wortes springen
- W - Vorwärts zum Anfang eines Wortes springen (Wörter können Satzzeichen enthalten)
- e - Vorwärts zum Ende eines Wortes springen
- E - Vorwärts zum Ende eines Wortes springen (Wörter können Satzzeichen enthalten)
- b - Rückwärts zum Anfang eines Wortes springen
- B - Rückwärts zum Anfang eines Wortes springen (Wörter können Satzzeichen enthalten)
- % - Zu übereinstimmendem Zeichen bewegen (standardmäßig unterstützte Paare: '()', '', '[]' - Verwende :h matchpairs in Vim für mehr Infos)
- 0 - Zum Anfang der Zeile springen
- ^ - Zum ersten Nicht-Leerzeichen der Zeile springen
- $ - Zum Ende der Zeile springen
- g_ - Zum letzten Nicht-Leerzeichen der Zeile springen
- gg - Zum ersten Satz des Dokuments gehen
- G - Zum letzten Satz des Dokuments gehen
- 5G - Zu Satz 5 gehen
- fx - Zum nächsten Vorkommen des Zeichens springen
- tx - Vor dem nächsten Vorkommen des Zeichens springen
- Fx - Zum vorherigen Vorkommen des Zeichens springen
- Tx - Nach dem vorherigen Vorkommen des Zeichens springen
- ; - Vorherige f-, t-, F- oder T-Bewegung wiederholen
- , - Vorherige f-, t-, F- oder T-Bewegung rückwärts wiederholen
- zz - Cursor auf dem Bildschirm zentrieren
- Ctrl + e - Bildschirm um eine Zeile nach unten bewegen (ohne den Cursor zu bewegen)
- Ctrl + y - Bildschirm um eine Zeile nach oben bewegen (ohne den Cursor zu bewegen)
- Ctrl + b - Einen ganzen Bildschirm zurückbewegen
- Ctrl + f - Einen ganzen Bildschirm vorwärtsbewegen
- Ctrl + d - Einen halben Bildschirm vorwärtsbewegen
- Ctrl + u - Einen halben Bildschirm zurückbewegen
-Tipp: Präfixiere eine Cursor-Bewegung mit einer Zahl, um sie zu wiederholen. Zum Beispiel bewegt sich 4j um 4 Zeilen nach unten.
Einfügemodus - Text einfügen/anfügen
- i - Vor dem Cursor einfügen
- I - Am Anfang der Zeile einfügen
- a - Nach dem Cursor einfügen (anfügen)
- A - Am Ende der Zeile einfügen (anfügen)
- o - Eine neue Zeile unterhalb der aktuellen Zeile anfügen
- O - Eine neue Zeile oberhalb der aktuellen Zeile anfügen
- ea - Am Ende des Wortes einfügen (anfügen)
- Esc - Einfügemodus verlassen
Bearbeitung
- r - Einzelnes Zeichen ersetzen
- J - Zeile unten mit der aktuellen Zeile mit einem Leerzeichen dazwischen verbinden
- gJ - Zeile unten mit der aktuellen Zeile ohne Leerzeichen dazwischen verbinden
- gwip - Absatz neu formatieren
- cc - Ganze Zeile ändern (ersetzen)
- C - Bis zum Ende der Zeile ändern (ersetzen)
- c$ - Bis zum Ende der Zeile ändern (ersetzen)
- ciw - Ganzes Wort ändern (ersetzen)
- cw - Bis zum Ende des Wortes ändern (ersetzen)
- s - Zeichen löschen und Text ersetzen
- S - Zeile löschen und Text ersetzen (gleich wie cc)
- xp - Zwei Buchstaben vertauschen (löschen und einfügen)
- u - Rückgängig machen
- Ctrl + r - Wiederholen
- . - Letzten Befehl wiederholen
Markierung von Text (Visueller Modus)
- v - Visuellen Modus starten, Zeilen markieren und dann einen Befehl ausführen (wie y - kopieren)
- V - Linienweisen visuellen Modus starten
- o - Zum anderen Ende des markierten Bereichs wechseln
- Ctrl + v - Visuellen Blockmodus starten
- O - Zum anderen Eckpunkt des Blocks wechseln
- aw - Ein Wort markieren
- ab - Einen Block mit ()
- aB - Einen Block mit
- ib - Inneren Block mit ()
- iB - Inneren Block mit
- Esc - Visuellen Modus verlassen
Visuelle Befehle
- > - Text nach rechts verschieben
- y - Markierten Text kopieren
- d - Markierten Text löschen
- ~ - Groß- und Kleinschreibung wechseln
Register
- :reg - Inhalt der Register anzeigen
- "xy - In das Register kopieren
- "xp - Inhalt des Registers einfügen
Tipp: Register werden in ~/.viminfo gespeichert und werden beim nächsten Neustart von Vim erneut geladen. Tipp: Register 0 enthält immer den Wert des letzten Kopierbefehls.
Marks
- :marks - Liste der Markierungen
- ma - Aktuelle Position für Markierung A setzen
- `a - Zu Position der Markierung A springen
- y`a - Text zur Position der Markierung A kopieren
Macros
- qa - Makro a aufzeichnen
- q - Aufzeichnung des Makros beenden
- @a - Makro a ausführen
- @@ - Zuletzt ausgeführtes Makro erneut abspielen
Ausschneiden und Einfügen
- yy - Eine Zeile kopieren
- 2yy - 2 Zeilen kopieren
- yw - Die Zeichen des Worts von der Cursor-Position bis zum Anfang des nächsten Worts kopieren
- y$ - Bis zum Ende der Zeile kopieren
- p - Die Zwischenablage nach dem Cursor einfügen
- P - Die Zwischenablage vor dem Cursor einfügen
- dd - Eine Zeile löschen (ausschneiden)
- 2dd - 2 Zeilen löschen (ausschneiden)
- dw - Die Zeichen des Worts von der Cursor-Position bis zum Anfang des nächsten Worts löschen (ausschneiden)
- D - Bis zum Ende der Zeile löschen (ausschneiden)
- d$ - Bis zum Ende der Zeile löschen (ausschneiden)
- x - Ein Zeichen löschen (ausschneiden)
Beenden
- :w - Datei speichern, aber nicht beenden
- :w !sudo tee % - Aktuelle Datei mit sudo schreiben
- :wq oder :x oder ZZ - Schreiben (speichern) und beenden
- :q - Beenden (fehlt, wenn ungespeicherte Änderungen vorhanden sind)
- :q! oder ZQ - Beenden und ungespeicherte Änderungen verwerfen
- :wqa - Schreiben (speichern) und alle Tabs beenden
Suchen und Ersetzen
- /pattern - Nach Muster suchen
- ?pattern - Rückwärts nach Muster suchen
- \vpattern - 'Sehr magisches' Muster: Nicht-alphanumerische Zeichen werden als spezielle Regex-Symbole interpretiert (kein Escapen erforderlich)
- n - Suche in gleicher Richtung wiederholen
- N - Suche in entgegengesetzter Richtung wiederholen
- :%s/old/new/g - Altes durch Neues in der gesamten Datei ersetzen
- :%s/old/new/gc - Altes durch Neues in der gesamten Datei mit Bestätigungen ersetzen
- :noh - Hervorhebung von Suchtreffern entfernen
In mehreren Dateien suchen
:vimgrep /pattern/ {file} - Nach Muster in mehreren Dateien suchen
z.B.: vimgrep /foo/ */
:cn - Zum nächsten Treffer springen
:cp - Zum vorherigen Treffer springen
:copen - Ein Fenster öffnen, das die Liste der Treffer enthält
Arbeiten mit mehreren Dateien
- :e file - Eine Datei in einem neuen Puffer bearbeiten
- :bnext oder :bn - Zum nächsten Puffer wechseln
- :bprev oder :bp - Zum vorherigen Puffer wechseln
- :bd - Einen Puffer löschen (eine Datei schließen)
- :ls - Alle offenen Puffer auflisten
- :sp file - Eine Datei in einem neuen Puffer öffnen und das Fenster aufteilen
- :vsp file - Eine Datei in einem neuen Puffer öffnen und das Fenster vertikal aufteilen
- Ctrl + ws - Fenster aufteilen
- Ctrl + ww - Fenster wechseln
- Ctrl + wq - Ein Fenster schließen
- Ctrl + wv - Fenster vertikal aufteilen
- Ctrl + wh - Cursor zum linken Fenster bewegen (vertikale Aufteilung)
- Ctrl + wl - Cursor zum rechten Fenster bewegen (vertikale Aufteilung)
- Ctrl + wj - Cursor zum unteren Fenster bewegen (horizontale Aufteilung)
- Ctrl + wk - Cursor zum oberen Fenster bewegen (horizontale Aufteilung)