Neovim ist in Version 0.12 erschienen. Unter dem Motto „The year of Nvim OOTB“ (Out of the box) baut das Release den Funktionsumfang des Open-Source-Editors aus. Die wichtigsten Neuerungen: ein nativer Plugin-Manager und das Ende störender UI-Blockaden.
Neovim ist ein Fork des Texteditors Vim. Das Projekt hat zum Ziel, die historische Codebasis zu modernisieren, und setzt auf eine asynchrone Architektur sowie eine API-getriebene Erweiterbarkeit. Als Konfigurations- und Skriptsprache dient Lua.
Nativer Plugin-Manager
Die zentrale Neuerung ist der in den Core integrierte, minimalistische Plugin-Manager vim.pack. Bislang mussten Nutzer für fast jedes Setup externe Paketmanager wie packer oder lazy.nvim per Skript herunterladen und initialisieren – das sogenannte Bootstrapping. Mit vim.pack genügt eine deklarative Lua-Konfiguration, um Erweiterungen direkt von GitHub zu laden und zu verwalten. Externe Manager bleiben nur noch für komplexe Setups nötig, etwa mit umfangreichem Lazy-Loading.
Außerdem ersetzt Neovim 0.12 die berüchtigte „Press ENTER“-Meldung durch eine experimentelle Nachrichten-UI. Die neue Oberfläche (vim._extui) ersetzt rund 3000 Zeilen alten C-Code und muss manuell aktiviert werden:
require('vim._extui').enable({})Ohne Aktivierung bleibt das alte Verhalten erhalten – Nutzer können es aber über :set cmdheight=0 deaktivieren. In der neuen UI werden lange Nachrichten standardmäßig in der Kommandozeile mit einem Überlauf-Indikator (...) angezeigt. Bei cmdheight=0 oder expliziter Konfiguration (msg.pos = 'box') erscheinen sie stattdessen in einem Floating Window unten rechts.
Wer die vollständige Nachrichten-Historie oder lange Listen – etwa geöffnete Puffer via :ls – einsehen möchte, öffnet über das Tastenkürzel g< künftig ein reguläres, interaktives Editor-Fenster. Es ersetzt den bisherigen starren Pager. Die neue UI nutzt den Tree-sitter-Parser für Vimscript, um die Kommandozeile farblich hervorzuheben – etwa für Befehle und Argumente. Dieses Feature ist jedoch nur aktiv, wenn vim._extui eingeschaltet ist.
Hinzu kommen zwei neue Befehle: :restart startet den Editor-Prozess mitsamt Konfiguration neu, ohne dass die Terminal-Session geschlossen werden muss. :connect vereinfacht das Anbinden externer GUIs oder Headless-Instanzen über RPC.
Einfacheres Remote-Plugin-System
Unter der Haube überarbeitet Neovim aktuell das System für Remote-Plugins. Diese Erweiterungen laufen in externen Sprachen wie Python oder Node.js und kommunizieren über MessagePack-RPC mit dem Editor. Bisher erforderte ihre Installation einen manuellen Registrierungsschritt: Der Befehl :UpdateRemotePlugins aktualisierte eine Manifest-Datei – ein fehleranfälliger Zwischenschritt. Für Version 0.13 plant das Projekt, Lua als nativen Plugin-Host einzusetzen – :UpdateRemotePlugins soll dann entfallen.
Alle Informationen zu Neovim 0.12 und zu den geplanten Updates finden sich auf der Webseite des Projekts und in den Release Notes auf GitHub.
(fo)










English (US) ·