多機能エディタVimの最新版となる「Vim 9.0」が公開された。2年半を経てのメジャーアップグレードバージョンだ。Vim 9.0ではVimスクリプトが大きく改善された「Vim9スクリプト」が導入されており、実行速度が最大で10倍から100倍高速化されることが期待されている。

Vim 9.0 : vim online

VimはVimスクリプトを使うことで機能を実装および拡張することができる。この機能はVimにとって重要なものだが、後方互換性を維持しながら発展してきたことで、過去の不適切な変更はしばしば変更することができず、Viとの互換性維持は問題解決を制限し、実行速度が遅いという課題が存在していた。

Vim9スクリプトはパフォーマンスを大幅に向上することを主な目的として開発されており、スクリプトを効率的に実行できる命令にコンパイルすることで高速化を実現している。実行速度は10倍から100倍ほどの向上が期待されている。またVim9スクリプトでは、Vim特有の構造を避け、JavaScriptやTypeScript、Javaといった主に使用されているプログラミング言語へ近づけることも取り組まれている。

Vim9スクリプトの高速化機能の恩恵を受けるには、関数をdefで定義するとともに、引数と戻り値の型を指定する必要があるとされている。これは実行の高速化のみならず、関数がバイトコードにコンパイルされた段階でバグを発見するのにも役立つとされている。また、変数はvarで型指定とともに宣言したり、または値から型を推論で指定することになるとされている。

行を継続するためのバックスラッシュの指定、関数呼び出しにおけるcall指定、letを使った変数代入、evalによる式の評価なども不要になっており、現在主流のプログラミング言語とよく似た使い方が可能になっているという。コメントも#から始められるようになり、Vimスクリプト特有の記述から主要なプログラミング言語で使われている記述に近づいている。

Vim9のスピードアップの恩恵を最大限に受けるにはVim9の方法で記述する必要があるが、レガシースクリプトのサポートは継続されるため心配する必要はないという説明も行われている。