Vim und Neovim teilen sich Geschichte, Tastenbedienung und einen Großteil der :help-Tags — aber sie sind seit 2014 zwei eigenständige Editoren mit unterschiedlichen Architekturen und Roadmaps. Dieser Artikel klärt die wichtigsten Unterschiede aus Vim-Sicht und hilft bei der Entscheidung, ob diese Doku oder die Neovim-Doku der richtige Lesepfad ist. Eine ausführlichere Variante mit Plugin-Kompatibilitäts-Matrix, Neovim-Roadmap und der vollständigen Fork-Geschichte aus Neovim-Perspektive folgt unter /docs/neovim/grundlagen/vim-vs-neovim/.
Gemeinsame Foundation: was identisch ist
Vieles ist in beiden Editoren wortgleich:
- Tastenbedienung im Normal-Mode:
h j k l,dd,yy,p,:wq,/pattern,*,gg,G,<C-o>,<C-i>— alles identisch. - Die Befehls-Grammatik: Operatoren + Motions + Text-Objects funktionieren in beiden Editoren gleich.
d3w,ciw,>ap,vi"— egal in welchem. - Macros:
q,@, Registers, Counts — gleiches Verhalten. - Marks und Jumplist:
m{a-z},',`,<C-o>/<C-i>— identisch. :help-Tags: die offizielle Doku verwendet dieselben Tag-Namen.:help :writefunktioniert in beiden Editoren.
Wer Vim kann, kann Neovim — und umgekehrt. Das ist eine bewusste Designentscheidung des Neovim-Projekts: die Benutzer-Ebene bleibt kompatibel, modernisiert wird unter der Haube.
Wo es auseinandergeht: die wichtigsten Unterschiede
| Aspekt | Vim 9.1 | Neovim 0.11 |
|---|---|---|
| Skript-Sprachen | Vimscript, Vim9script | Vimscript, Lua (first-class) |
| LSP-Client | extern (coc.nvim, vim-lsp, yegappan/lsp) | built-in seit 0.5 |
| Tree-sitter | nicht eingebaut | built-in seit 0.5, stabil seit 0.9 |
| Plugin-API | Vimscript / C-Pluginschnittstelle | RPC für externe Plugins beliebiger Sprache |
| Konfigurations-Pfad | ~/.vimrc | ~/.config/nvim/init.lua (XDG) |
| GUI-Frontends | gVim, MacVim | Neovide, VimR, Goneovim, embedded UIs |
| Default-Mausunterstützung | aus | an |
| Verfügbarkeit auf Servern | praktisch überall vorinstalliert | muss installiert werden |
Drei Punkte zur Einordnung aus Vim-Sicht:
- Vims Plus-Punkt ist Verfügbarkeit. Auf praktisch jeder Unix-Installation ist Vim oder zumindest vi-kompatibles
nvi/busybox vivorinstalliert. In Containern, auf alten Servern, in Recovery-Szenarien ist das der entscheidende Unterschied. - Vim9script ist Vims eigene Modernisierungs-Antwort auf Neovims Lua. Schnell, getypt, deutlich angenehmer zu schreiben als legacy Vimscript — aber nur in Vim verfügbar, nicht in Neovim.
coc.nvimist der Brückenkopf zwischen den Welten. Wer LSP-/Completion-/Snippet-Komfort in Vim haben möchte, ohne auf Neovim zu wechseln, fährt mit coc.nvim sehr weit. Es ist in beiden Editoren der bequemste Weg zu IDE-Features — auf Kosten einer zusätzlichen Node.js-Abhängigkeit.
Wann Vim die richtige Wahl ist
Vim ist die richtige Wahl, wenn:
- du Server- und Container-Arbeit machst und einen Editor brauchst, der überall schon da ist.
- du eine vorhandene
.vimrcpflegen und nicht auf Lua umschreiben willst. - du bewusst kein Lua lernen möchtest und in Vimscript bzw. Vim9script bleiben willst.
- dir maximale Portabilität wichtig ist — Vim läuft auf exotischen Unixes (AIX, Solaris), auf denen Neovim nicht oder schlecht funktioniert.
- du kein Plugin-Maximalismus willst, sondern Built-ins plus eine kleine Handvoll Vimscript-Klassiker (
vim-fugitive,vim-surround,vim-commentary,coc.nvim) bevorzugst.
Neovim ist die bessere Wahl, wenn dich Tree-sitter, built-in LSP, Lua als Konfigurations-Sprache und der moderne Lua-Plugin-Stack (lazy.nvim, telescope.nvim, blink.cmp, snacks.nvim) interessieren. Für diesen Pfad führt die /docs/neovim/-Doku die ausführliche Anleitung.
Beides parallel betreiben
Die häufigste Antwort in der Praxis: beide installieren. Vim als Server-Fallback und Recovery-Werkzeug, Neovim als Haupt-Editor lokal. Beide laufen vollständig konfliktfrei nebeneinander — sie nutzen andere Binary-Namen (vim vs. nvim) und andere Konfig-Pfade (~/.vimrc vs. ~/.config/nvim/init.lua).
Eine bestehende ~/.vimrc lässt sich übrigens in Neovim weiternutzen — entweder direkt als ~/.config/nvim/init.vim (legacy-Pfad) oder über einen Symlink. Die meisten Optionen, Mappings und Autocommands funktionieren unverändert. Plugin-spezifische Pfade und GUI-Optionen wie set guifont brauchen ggf. Anpassung.
FAQ
Brauche ich beides?
Nicht unbedingt, aber empfehlenswert. Wer hauptsächlich auf dem eigenen Laptop arbeitet, kommt mit einem der beiden gut aus. Wer regelmäßig auf fremden Servern editiert, sollte mindestens Vim können — er ist dort, wo Neovim oft nicht ist.
Funktionieren meine Vim-Plugins in Neovim?
Klassische Vimscript-Plugins (alles von tpope: vim-fugitive, vim-surround, vim-commentary, vim-repeat) laufen in Neovim unverändert. Auch vim-airline, vim-easymotion, nerdtree, vim-ultisnips. Was nicht läuft: Vim9script-Plugins (Vim 9.0+ only).
Funktionieren Neovim-Plugins in Vim?
Nein, sobald sie Lua oder die vim.*-API nutzen. Das schließt praktisch das gesamte moderne Neovim-Ökosystem ein: lazy.nvim, telescope.nvim, nvim-treesitter, nvim-cmp/blink.cmp, gitsigns.nvim, neogit. Ausnahme: coc.nvim läuft in beiden Editoren — es ist in Node geschrieben und nutzt einen anderen Mechanismus.
Ist Vim ein "totes" Projekt?
Nein. Vim wird nach Bram Moolenaars Tod 2023 unter neuer Leitung aktiv weitergepflegt — Patches kommen regelmäßig, Vim 9.1 ist der aktuelle Stable. Die Release-Kadenz ist ruhiger als bei Neovim, das ist eine Frage der Projekt-Kultur, nicht des Lebenszeichens.
Weiterführende Ressourcen
Externe Quellen
- Neovim Charter — die offiziellen Projekt-Ziele und das Verhältnis zu Vim.
- Neovim FAQ: Why fork? — Original-Begründung des Forks.
- Vim 9.0 Release Notes — Vim9script, Performance-Verbesserungen.
- Vim-Differences im Neovim-Wiki — technische Unterschiede im Detail.