linux-cli-shell cli editor vim neovim productivity advanced

Vim & Neovim Mastery: Advanced Editing (Artikel 259)

Der ultimative Guide für Vim und Neovim. Erfahren Sie alles über modales Editieren, effiziente Bewegung im Text, Makros und die Konfiguration einer modernen IDE im Terminal.

# Vim Mastery: Editieren mit Lichtgeschwindigkeit

TL;DR / Management Summary Wer als Admin Vim (oder den modernen Nachfolger Neovim) beherrscht, editiert Konfigurationsdateien schneller, als andere ihre Maus finden. Das Geheimnis liegt im modalen Editieren: Wir trennen das Tippen von Text vom Steuern des Editors. In diesem Modul lernen wir die Bewegungs-Befehle, die mächtigen Text-Objekte und die Automatisierung durch Makros kennen. Wer Vim einmal verstanden hat, sieht Textbearbeitung nie wieder mit denselben Augen.


# 1. Einführung & Architektur

Die Philosophie der Modi.

Vim ist kein normaler Editor. Er startet im Normal Mode.

  • Normal Mode: Befehle zum Bewegen und Löschen.
  • Insert Mode: Text tippen (Taste i).
  • Visual Mode: Text markieren (Taste v).
  • Command Mode: Speichern und Beenden (Taste :).

# Der Vim-Workflow (Mermaid)

graph TD
    A[Start: Normal Mode] -->|i / a / o| B[Insert Mode: Typing]
    B -->|ESC| A
    A -->|v / V| C[Visual Mode: Selecting]
    C -->|ESC| A
    A -->|:| D[Command Mode: :w / :q]
    D -->|Enter| A
    A -->|hjkl| E[Movement]
    A -->|d / y / p| F[Editing: Delete, Copy, Paste]

# 2. Effiziente Bewegung

Finger weg von den Pfeiltasten!

Die Basis ist die hjkl Reihe. Aber Profis nutzen mehr:

  • w / b: Wortweise vor/zurück springen.
  • 0 / $: Anfang/Ende der Zeile.
  • gg / G: Anfang/Ende der Datei.
  • /: Suchen. Mit n zum nächsten Treffer.

# 3. Text-Objekte und Operationen

Die Sprache von Vim.

Befehle in Vim funktionieren wie Sätze: Aktion + Menge + Objekt.

  • diw: Delete Inner Word (Löscht das Wort unter dem Cursor).
  • caw: Change Around Word (Löscht das Wort und wechselt in den Insert-Modus).
  • y$: Yank (Kopieren) bis zum Ende der Zeile.

# 4. Day-2 Operations: Makros und Buffers

Wiederholungen automatisieren.

# Makros: Aktionen aufnehmen

Wenn Sie 100 Zeilen im gleichen Stil ändern müssen:

  1. qa: Aufnahme in Register a starten.
  2. Änderungen durchführen.
  3. q: Aufnahme stoppen.
  4. 100@a: Makro 100x ausführen.

# Mehrere Dateien (Buffers)

vim file1.txt file2.txt
# :ls (Liste der Buffer)
# :bn (Nächster Buffer)
# :bp (Vorheriger Buffer)

# 5. Troubleshooting & “War Stories”

Wenn man nicht mehr rauskommt.

# Story 1: “Der Exit-Fail”

Symptom: Ein Junior-Admin tippt wild umher und kommt nicht aus Vim raus. Er schließt das Terminal-Fenster. Ursache: Panik vor dem Command-Mode. Lösung: Immer erst ESC drücken (um in den Normal-Mode zu kommen), dann :q! (Beenden ohne Speichern) oder :wq (Speichern und Beenden).

# Story 2: “Die Swap-File Warnung”

Symptom: Beim Öffnen einer Datei meldet Vim Swap file ".config.swp" already exists!. Ursache: Vim wurde unsauber beendet oder die Datei ist in einem anderen Terminal bereits offen. Lösung: Prüfen Sie mit ps, ob Vim noch läuft. Falls nicht: Recover mit vim -r <file> und danach die .swp Datei löschen.


# 6. Fazit & Empfehlung

  • Lerneffekt: Nutzen Sie vimtutor im Terminal. Es ist der beste 30-Minuten-Kurs für Einsteiger.
  • Modernität: Nutzen Sie Neovim (nvim). Es ist kompatibel zu Vim, aber schneller und lässt sich mit Lua-Skripten zur vollwertigen IDE ausbauen (z.B. NvChad oder LunarVim).
  • Konstanz: Üben Sie täglich. Vim-Skills veralten nie.

# Anhang: Cheatsheet

Aufgabe Befehl (Normal Mode)
Speichern :w
Beenden :q
Speichern & Beenden :wq oder ZZ
Abbruch ohne Speichern :q!
Zeile löschen dd
Zeile kopieren yy
Einfügen nach Cursor p
Rückgängig u
Wiederherstellen CTRL + r
Alles ersetzen :%s/alt/neu/g
Hilfe öffnen :help <begriff>