28 июня 2022 года состоялся релиз культового, удобного и открытого текстового редактора Vim 9.0.
VIM распространяется под собственной лицензией, совместимой с GPL и позволяющей без ограничений использовать, распространять и перерабатывать исходный код проекта.
В Vim 9.0 добавлен новый язык разработки скриптов и плагинов под названием Vim9 Script. Он имеет синтаксис, близкий к JavaScript, TypeScript и Java. Vim9 Script проще для освоения, но обратно не совместим со старым языком сценариев. Причем разработчики оставили поддержку ранее используемого языка сценариев, они сохранили совместимость с существующими плагинами и скриптами. Старый и новый языки сценариев поддерживаются параллельно, а прекращение поддержки старого языка сценариев разработчиками не планируется.
В Vim9 Script реализована поддержка компилируемых функций, с помощью которых можно существенно увеличить производительность. В проведённых тестах компилируемые в байткод функции позволили увеличить скорость выполнения скриптов в 10-100 раз.
В Vim9 Script прекращена обработка аргументов функций в виде ассоциативных массивов, приводившая к большим накладным расходам. Функции в Vim9 Script определяются при помощи выражения def и требуют явного указания перечня аргументов и возвращаемых типов. Переменные определяются при помощи выражения var с явным указанием типа. В будущих выпусках Vim9 Script разработчики добавят реализацию поддержки классов.
Еще дополнения и изменения в Vim 9.0, согласно данным OpenNET:
- в состав сборки входит набор цветовых схем;
- улучшена поддержка проверки правописания и автодополнения ввода;
- добавлены новые настройки: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes';
- добавлены новые команды: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var и vim9script;
- предоставлена возможность открытия терминала во всплывающем окне (popup-terminal) и выбора цветового оформления терминала;
- добавлен канальный режим взаимодействия с сервером LSP (Language Server Protocol);
- добавлена поддержка операционной системы Haiku.
Предыдущая версия Vim вышла 6 лет назад в сентябре 2016 года. Тогда Vim получил множество обновлений и улучшений, включая поддержку асинхронного ввода/вывода, каналов, заданий, таймеров, партиалов, пакетов, идентификаторов окон, Direct-X, GTK+ 3, а также прекращение поддержки MS-DOS.