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 nzum 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:
qa: Aufnahme in Registerastarten.- Änderungen durchführen.
q: Aufnahme stoppen.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
vimtutorim 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> |