Entwicklung & Code
Vim 9.2 bringt Wayland-Support und neue Vim9-Script-Features
Vim 9.2 ist da: Das Release des Kommandozeileneditors bietet erstmals vollständige Unterstützung für Wayland – sowohl für die Bedienoberfläche als auch für die Zwischenablage. Damit reagiert das Projekt auf die zunehmende Verbreitung des Grafikservers unter Linux. Zugleich folgt Vim künftig der XDG Base Directory Specification und legt Konfigurationsdateien unter Linux und Unix in $HOME/.config/vim ab.
Weiterlesen nach der Anzeige
Vim9-Script, die moderne Skriptsprache des Editors, erhält neue Datentypen: Enums ermöglichen typsichere Aufzählungen, Generic Functions erlauben die Definition von Funktionen mit Typparametern und der neue Tuple-Datentyp stellt geordnete Sammlungen fester Größe bereit. Built-in Functions lassen sich nun auch als Objektmethoden verwenden. Neue Features wie geschützte _new()-Konstruktoren und der Befehl :defcompile für vollständige Methodenkompilierung runden die Spracherweiterungen ab.
Der Diff-Modus erhält einen neuen Linematch-Algorithmus, der Zeilen zwischen Puffern präziser zuordnet. Die neue Option diffanchors erlaubt es, Ankerpunkte zu setzen, um komplexe Dateien in Abschnitte zu unterteilen und diese unabhängig voneinander zu vergleichen. Das Inline-Highlighting wurde verbessert, es hebt Änderungen innerhalb einer Zeile jetzt detaillierter hervor.
Praxisnahe Verbesserungen
Bei den Default-Einstellungen hat Vim 9.2 mehrere Anpassungen vorgenommen: Der Befehlsverlauf wächst von 50 auf 200 Einträge (history), die Rücktaste verhält sich standardmäßig erwartungsgemäß (backspace auf „indent,eol,start“) und die Cursor-Position sowie eingetippte Befehle werden grundsätzlich angezeigt (ruler und showcmd aktiviert). Unter GTK erhöht sich die Standardschriftgröße von 10 auf 12 Punkt, was Nutzern hochauflösender Displays entgegenkommt.
Die Insert-Mode-Completion unterstützt jetzt Fuzzy-Matching und kann Wörter direkt aus Registern vervollständigen. Die neuen Flags nosort und nearest für completeopt geben Nutzern feinere Kontrolle über Anzeige und Sortierung der Vorschläge. Ein neuer interaktiver Tutor, aufrufbar über :Tutor, soll gegenüber dem klassischen vimtutor-Programm ein moderneres Erlernen des Editors bieten.
Plattform-Optimierungen
Weiterlesen nach der Anzeige
Windows-Nutzer erhalten native Dark-Mode-Unterstützung für Menüs und Titelleisten sowie hochwertigere Toolbar-Icons. Der Vollbild-Support wurde verbessert. Als Alternative zum horizontalen Tabline bietet Vim 9.2 nun ein vertikales Tabpanel an, was bei vielen geöffneten Dateien übersichtlicher sein kann.
Contributor Yegappan Lakshmanan demonstriert in den Release Notes die Möglichkeiten von Vim9-Script anhand zweier mit GitHub Copilot generierter Projekte: Eine vollständige Implementierung des Spiels Battleship zeigt den Einsatz von Klassen und Type Aliases, ein Number-Puzzle-Spiel belegt die Eignung moderner Vim9-Konstrukte für interaktive Plugins.
Das Release behebt zudem mehrere seit Vim 9.1 bekannt gewordene Sicherheitslücken, Speicherlecks und potenzielle Absturzursachen. Nach dem Tod von Vim-Erfinder Bram Moolenaar im August 2023 führt Christian Brabandt das Projekt als Hauptmaintainer fort.
(fo)