Künstliche Intelligenz
Neovim 0.12 mit nativem Plugin-Manager
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.
Weiterlesen nach der Anzeige
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.
Weiterlesen nach der Anzeige
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)