- Großes Update mit umfangreichen Verbesserungen der Vim9-Skriptsprache, verbessertem Diff-Modus, vollständiger Autovervollständigung und experimenteller Wayland-Unterstützung
- Die Autovervollständigung im Einfügemodus wurde mit fuzzy matching, registerbasierter Wortvervollständigung und neuen
completeopt-Optionen verbessert
- Plattformspezifische UI-Verbesserungen umfassen Wayland-UI- und Clipboard-Unterstützung, vertikale Tab-Leiste und den nativen Dark Mode unter Windows
- Die Sprachfunktionen wurden um Enums, Generic-Funktionen und Tuple-Typen erweitert und können auch für die Entwicklung KI-basierter Plugins genutzt werden
- Auch nach dem Tod von Bram Moolenaar hält Vim an der Charityware-Philosophie fest, und die unterstützte Organisation wurde auf Kuwasha übertragen
Wichtige Funktionsverbesserungen
- Ausbau der Autovervollständigung
- Im Einfügemodus wird fuzzy matching unterstützt, und Wörter können direkt aus Registern (
CTRL-X CTRL-R) vervollständigt werden
- Für
'completeopt' wurden die Optionen nosort und nearest hinzugefügt, sodass sich die Sortierung der Ergebnisse fein steuern lässt
- Plattform- und UI-Verbesserungen
- Vollständige Unterstützung für Wayland-UI und Clipboard
- Unter Linux/Unix wird die XDG Base Directory Specification befolgt, sodass
$HOME/.config/vim als Konfigurationspfad verwendet wird
- Eine vertikale Tab-Leiste wurde hinzugefügt; die Windows-GUI unterstützt nun Dark Mode für Menü- und Titelleiste sowie hochauflösende Icons
- Neue Lernfunktionen
- Mit dem Befehl
:Tutor wurde ein neues interaktives Tutor-Plugin eingeführt, das gegenüber dem bisherigen vimtutor ein moderneres Lernerlebnis bietet
Erweiterungen der Vim9-Skriptsprache
- Stärkung der Sprachstruktur
- Enums, Generic-Funktionen und der Tuple-Datentyp werden nun unterstützt
- Eingebaute Funktionen wurden als Objektmethoden integriert, und Klassen unterstützen eine geschützte
_new()-Methode sowie vollständige Methodenkompilierung über :defcompile
- Integration mit KI-Tools
- Zwei Beispielprojekte mit GitHub Copilot wurden veröffentlicht
- Battleship in Vim9: Implementierung des klassischen Spiels mit Klassen
- Number Puzzle: Logikrätsel in Form eines interaktiven Plugins
Verbesserungen im Diff-Modus
- Linematch-Algorithmus
- Neu in der Einstellung
'diffopt'; richtet Änderungen zwischen ähnlichen Zeilen aus und verbessert die Genauigkeit der Hervorhebung
- Diff Anchors
- Mit der Option
'diffanchors' lassen sich Ankerpunkte festlegen, um Diffs in komplexen Dateien abschnittsweise auszurichten
- Inline Highlighting
- Änderungen innerhalb einer Zeile werden detailliert angezeigt und können mit der Unteroption
"inline" gesteuert werden
"inline:simple" ist im Standardwert von 'diffopt' enthalten
Änderungen an den Standardwerten
- Mehrere Standardwerte wurden für moderne Umgebungen aktualisiert
'history': 50 → 200
'backspace': leer → "indent,eol,start"
'diffopt': "internal,filler" → "internal,filler,closeoff,indent-heuristic,inline:char"
'fontsize' (GTK): 10pt → 12pt
'showcmd', 'ruler': standardmäßig ein
Weitere Verbesserungen und Fehlerbehebungen
- Seit Vim 9.1 wurden zahlreiche Sicherheitslücken, Speicherlecks und Absturzprobleme behoben
Übergang des Charity-Engagements
- Auflösung von ICCF Holland
- Nach dem Tod des Gründers Bram Moolenaar konnte die Stiftung nicht weitergeführt werden und wurde aufgelöst
- Verbleibende Mittel wurden zur Unterstützung des Kibaale-Projekts übertragen
- Zusammenarbeit mit Kuwasha
- Die kanadische Organisation Kuwasha hat das Uganda-Projekt übernommen und setzt die Unterstützung fort
- Charityware bleibt bestehen
- Vim bleibt weiterhin Charityware, und Nutzer können über Kuwasha spenden
Dank und Verfügbarkeit
- Dank an alle Beteiligten für Beiträge wie Patches, Übersetzungen und Bug-Reports
- Die aktuelle Version ist auf der Download-Seite verfügbar
1 Kommentare
Hacker-News-Kommentare
Es freut mich zu sehen, dass sich Vim9 weiterentwickelt.
Auch wenn sich der Schwerpunkt offenbar etwas in Richtung Neovim verlagert hat, scheint das Neovim-Ökosystem eher auf Leute ausgerichtet zu sein, die eine IDE-ähnliche Umgebung wollen.
Ich frage mich, ob mehr Plugin-Entwickler zu Vim9Script wechseln werden. Da die meisten Neovim-Nutzer zu Lua-basierten Plugins übergegangen sind, scheint der Anreiz gesunken zu sein, beide Seiten zu unterstützen.
Besonders freue ich mich sehr darüber, dass Tuple-Unterstützung hinzugekommen ist.
Sowohl Elisp als auch Vimscript waren mir zu frustrierend.
Wenn ich die Wahl gehabt hätte, hätte ich aber vermutlich lieber eine andere Sprache als Lua genommen.
Ich finde es beeindruckend, dass Vim seit mehr als 30 Jahren als Charityware betrieben wird.
Nach dem Tod von Bram Moolenaar wurde die Stiftung ICCF Holland aufgelöst, aber die verbleibenden Mittel wurden übertragen, damit das Kibaale-Projekt in Uganda weiter unterstützt werden kann.
Ich habe vim aus technischen Gründen gewählt, aber als ich erfahren habe, dass Bram solche Spendenaktivitäten aus gutem Willen fortgeführt hat, hat mich das noch stolzer gemacht.
Am Ende wurde die Tatsache, dass es ohnehin schon in der Linux-Distribution enthalten war, einfach stillschweigend übergangen.
Trotzdem unterstütze ich Brams Absicht voll und ganz.
Ich bin ein Vim-Fan, bin am Ende aber zu nvim gewechselt.
Ehrlich gesagt wünschte ich, die vim-Maintainer würden einen Weg finden, irgendwie mit nvim zu verschmelzen.
Es funktioniert auf meinem lokalen Rechner, auf dem Raspberry Pi und in der Ubuntu-20.04-VM überall gleich.
Bei Vim geht es um Einfachheit und Konsistenz; wenn man mehr Funktionen will, ist es meiner Meinung nach besser, gleich vscode mit der vim-Erweiterung zu nutzen.
Ich habe nvim früher ausprobiert, aber keinen großen Vorteil gespürt und dann aufgegeben, weil sich der Befehl
:shanders verhielt.Mir persönlich gefällt die Richtung von vim9.
Ehrlich gesagt mag ich Lua nicht. Es wirkt unvermeidlich, dass die ganze Infrastruktur auf Lua hinausläuft.
Gut, dass die XDG-Unterstützung gelöst wurde.
init.nvimdie~/.vimrceinliest, gibt es kein Problem.Diese Veröffentlichung wirkt erfrischend, weil es ein großes Update ohne AI ist, sodass schon Witze wie „Wo sind die AI-Funktionen?“ aufkommen.
Das war damals auch der Grund, warum ich zu Sublime Text gewechselt bin, und in VSCode oder Zed, die ich jetzt nutze, ist das eine unverzichtbare Funktion.
Es gibt zwar Plugins dafür, aber mit nativer Unterstützung wäre es deutlich leistungsfähiger.
Früher gab es einmal eine Zeit, in der Bram Moolenaar Updates für vim verweigerte, bis Neovim auftauchte.
Ich fand es merkwürdig, dass in der Liste der GitHub-Tags kein Tag für v9.2 zu sehen war.
Nach langem Interesse habe ich endlich angefangen, vim richtig zu lernen.
Dank AI habe ich zwischen Anfragen mehr Zeit und damit Luft zum Lernen, und einfache Änderungen von einer IDE oder AI erledigen zu lassen, fühlt sich inzwischen sogar langsamer an.
Dank agentischer Workflows kann ich feine Änderungen und Wiederholungsarbeit viel schneller erledigen.
Früher war ich ein regelrechter vim-Missionar, aber inzwischen behebe ich die meisten Bugs mit Sprachbefehlen und AI-Korrekturen.
Trotzdem liebe ich die Philosophie von vim nach wie vor.
Es freut mich wirklich sehr zu hören, dass vim sich weiterentwickelt.
Die Windows-GUI unterstützt jetzt Dark Mode, einen verbesserten Vollbildmodus und hochauflösende Symbole.
Glückwunsch zum neuen Release — ich freue mich auf den Tag, an dem ich diese tollen Verbesserungen selbst ausprobieren kann.