2026年2月、Vim 9.2が正式にリリースされました。Vim9スクリプトの大幅強化、差分モードの改善、ファジーマッチ補完、そしてWaylandサポートなど、かなり充実したアップデートになっています。

個人的に触ってみて、特に補完機能の強化が地味ながら嬉しいポイントでした。この記事では、Vim 9.2の主要な新機能と変更点を整理してみます。

Vim 9.2の補完機能が大幅に進化

まず目を引くのが、インサートモード補完でのファジーマッチング対応です。これまでは前方一致での補完が基本でしたが、9.2からはファジーマッチが使えるようになりました。

さらに、CTRL-X CTRL-Rでレジスタから直接単語を補完する機能も追加されています。ヤンクした内容をそのまま補完候補に使えるのは、実用的なシーンが多そうです。

completeoptにも新しいフラグが追加されていて、nosortnearestで補完候補の並び順を細かく制御できるようになりました。自動補完をカスタマイズしている人には嬉しい改善ですね。

Waylandネイティブサポート

Linux/Unix環境で大きなニュースなのが、Waylandのフルサポートです。UIとクリップボードの両方がWaylandネイティブで動作するようになりました。

X11からWaylandへの移行が進む中、この対応は時代の流れに合った判断だと感じます。XWaylandを経由せずにクリップボードが使えるのは、地味にストレスが減るポイントです。

また、XDG Base Directory Specificationにも準拠するようになり、設定ファイルの置き場所が$HOME/.config/vimに変更されています。ドットファイル管理をしている人にとっては、ホームディレクトリがすっきりして助かるのではないでしょうか。

Vim9スクリプトのEnum・ジェネリクス・Tuple対応

Vim9スクリプトの言語機能も着実に拡張されています。今回のリリースでは、Enum型ジェネリック関数Tupleデータ型がネイティブサポートされました。

ビルトイン関数がオブジェクトメソッドとして統合されたり、クラスでprotectedな_new()メソッドが使えるようになったりと、オブジェクト指向プログラミングの機能が一段と充実した印象です。

興味深いのは、これらの新機能を使ってBattleshipゲームをVim9で実装した事例が紹介されていることです。GitHub Copilotと組み合わせて作られたとのことで、Vim9スクリプトの実用性がかなり上がっていることがわかります。

差分モードの大幅改善

diffモードも目に見えて改善されました。linematchアルゴリズムが導入され、バッファ間の変更を類似行ごとに正確に整列できるようになっています。

さらに、diffanchorsオプションでアンカーポイントを指定して、ファイルのセクションごとに独立して差分を取ることも可能になりました。長いファイルのdiffで「全然関係ない行が対応付けられてしまう」問題が軽減されるのは、コードレビューの場面で重宝しそうです。

インラインハイライトも改善されていて、inline:charinline:wordで行内の変更箇所の表示方法を選べるようになっています。デフォルトがinline:charに変更されたので、アップデート直後に見た目が変わったと感じる人もいるかもしれません。

デフォルト値の現代化

長年変わっていなかったデフォルト設定が、ようやく現代的な値に更新されました。主な変更点を挙げると以下の通りです。

  • history: 50 → 200(コマンド履歴が増量)
  • backspace: 空 → indent,eol,start(普通のバックスペース動作に)
  • showcmd: Off → On(入力中のコマンドが常に表示)
  • ruler: Off → On(カーソル位置が常に表示)
  • GTKのfontsize: 10pt → 12pt(HiDPIモニター向け)

特にbackspaceのデフォルト変更は大きいです。Vim初心者が最初にハマるポイントの一つが「バックスペースが効かない」問題だったので、これで入門のハードルが少し下がりそうですね。

インタラクティブチューター

新しいビルトインプラグインとして、:Tutorコマンドで起動できるインタラクティブなチューターが追加されました。従来のvimtutorを現代的にリニューアルした形で、より実践的な学習体験を提供してくれるようです。

Vimの学習コストの高さはよく話題になりますが、公式がこうした取り組みを続けているのは好印象です。

テキストエディタの新しいアーキテクチャに関しては、Zig言語がio_uringとGrand Central Dispatchに対応した話題も興味深いところです。また、アルゴリズムの進化という点では、Dijkstraより速い最短経路アルゴリズムの記事も参考になるかもしれません。

まとめ

Vim 9.2は、Vim9スクリプトの言語機能強化、補完機能の進化、Waylandサポート、差分モードの改善と、幅広い領域でアップデートが行われたリリースでした。

特にデフォルト値の現代化は、長年のVimユーザーからすると「やっとか」という感想を持つ方も多いのではないでしょうか。一方で、Vim9スクリプトのEnum・ジェネリクス対応など、スクリプト言語としての表現力も着実に向上しています。

NeoVimとの競争もある中で、Vimが独自の進化を続けているのは嬉しいことです。詳しいリリースノートはVim公式サイトで確認できます。