Veröffentlicht am

Vim - Tastenkombinationen und Verwendung

Viewed

times

Autoren
  • Name
    Twitter

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)