Vim Erklärung

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Warum Vim benutzen/lernen?

  • Editierzeit von Text verringert sich drastisch, da die Finger nicht die Tastatur verlassen müssen
  • präzise Navigation im Normal-Mode
  • mächtige Selbstvervollständigungswerkzeuge für Wörter, Zeilen und Programmsyntax
  • Abnehmen repetitiver Arbeit mit Zahl+Befehl, Marcros, Visual-Mode, Command-Mode oder durch eigene Kofigurationen
  • erweiterbar für eigene Anforderungen (siehe $MYVIMRC)

Modi

Vim hat 4 verschiedene Modi, die jeweils ihre Bereiche für repetitive Arbeit abnehmen können. + Normal: Navigation des Cursors und Textedit + Insert: Textinput und Autocomplete + Visual: Markieren von Bereichen für das Editieren + Command: Ausführen komplexer Befehle, anpassen von Einstellungen in Vim

Navigation (Normal-Mode, Visual-Mode)

  • h, j, k, l: links, unten, oben, rechts
  • w: Anfang des nächsten Wortes, W: nächstes Zeichen nach einer Leerzeile
  • e: Ende des nächsten Wortes, E: letztes Zeichen vor der nächsten Leerzeile
  • b: Anfang des letzen Wortes, B: Erstes Zeichen zwischen dem letzten und dem vorletztem Leerzeichen
  • ge: Ende des letzten Wortes, gE: erstes Zeichen vor der letzten Leerzeile
  • f + beliebiges Zeichen: Finde das nächste Auftreten dieses Zeichens in der Zeile, F + beliebiges Zeichen: Finde das letzte Auftreten dieses Zeichens in der Zeile
  • t + beliebiges Zeichen: Finde das nächste Auftreten dieses Zeichens in der Zeile - 1
  • “,”, “;” wiederholt die letzte Suchaktion in der Zeile in der jeweiligen Richtung
  • T + beliebiges Zeichen: Finde das letzte Auftreten dieses Zeichens in der Zeile + 1
  • /, ?: Sucht nach einem String (und updated das “/”-Register)
  • n, N: Wiederholt die letze Suche in der jeweiligen Richtung
  • ^/0,$: Gehe zum Zeilenanfang/-ende

Texteditieren (Normal-Mode, bedingt Visual-Mode)

  • i, a: Wechsel in den Insert-Mode am/nach dem Cursor
  • I: Wechsel in den Insert-Mode am Zeilenanfang
  • A: Wechsel in den Insert-Mode am Zeilenende
  • s: löscht das Zeichen unter dem Cursor und wechsel in den Insert-Mode
  • S: löscht die Zeile und wechsel in den Insert-Mode
  • c + Navigation: löscht alles bis zum Navigationsziel und wechsel in den Insert-Mode
  • C: löscht alles vom Cursor bis ans Ende der Zeile und wechsel in den Insert-Mode
  • r + Zeichen: ersetzt das Zeichen unter dem Cursor/ der Auswahl des Visual-Modes
  • R (im Normal-Mode): Wechsel in den Replace-Mode
  • R (im Visual-Mode): macht dasselbe wie “S”

Autocomplete (Insert-Mode)

Das Autocomplete-Feature kann viele Arten von Mustern erkennen. Diese reichen von einfachen Wörtern, bis hin zu “Sätzen” je nach Kontext

Kontextlose Vervollständigung

  • Strg + r + Register: Fügt den Text aus jeweiligen Register ein. Mit :reg können Register eingesehen werden.
  • Strg + n/p: Vervollständigt ein Wort sucht, das Vim schon mal gesehen hat. n bzw. p gibt die Suchrichtung an.

Vervollständigung mit Kontext

Diese Art von Vervollständigungen beginnen immer mit Strg + X. Danach kann man in den gewünschten Kontext wechseln.

  • Strg + x, Strg + O: Sucht nach Variabeln-, Klassen- und Funktionsnamen. Kann auch in importierten Bibliotheken suchen.
  • Strg + x, Strg + n/p: Dasselbe wie Strg + n/p, aber wiederholte Verwendungen beachten den Kontext. D.h. Satzteile können somit vervollständigt werden.