世界を動かす技術を、日本語で。

Vim 9.2がリリースされました

概要

  • Vim 9.2 がリリースされ、多数の新機能と改善が実装
  • Vim9スクリプト言語 の大幅な進化とAIツール連携
  • 差分表示(diff)機能の強化 とUI改善
  • Wayland対応 などモダンなプラットフォームへの最適化
  • チャリティ活動の継続 と新パートナーへの移行

Vim 9.2 新機能と主な改善点

  • 包括的な補完機能強化

    • インサートモードでの ファジーマッチ補完
    • レジスタからの直接補完 (CTRL-X CTRL-R)
    • 'completeopt'nosortnearest など新フラグ追加、補完候補リストの表示順制御
  • モダンなプラットフォーム対応

    • Wayland UI/クリップボード完全対応
    • Linux/Unix系で XDG Base Directory Specification に従い、設定ディレクトリを $HOME/.config/vim
    • Windows GUIで ダークモード、フルスクリーン改善、高品質アイコン対応
  • UI・学習体験の向上

    • 垂直タブパネル 導入(従来の水平タブラインに加え選択可能)
    • :Tutor コマンドで起動する 新インタラクティブチュータープラグイン (従来のvimtutorを刷新)

Vim9 Scriptの進化・AI連携

  • 言語機能の強化

    • Enum、ジェネリック関数、Tuple型 のネイティブサポート
    • 組み込み関数の オブジェクトメソッド化
    • クラスで protected _new()メソッド:defcompile による完全コンパイル対応
  • AI開発ツールとの連携

    • GitHub Copilot を活用した先進プロジェクト例
      • Battleship in Vim9 :クラスや型エイリアスの実用例(GitHub
      • Number Puzzle :モダンVim9の効率的なインタラクティブプラグイン例(GitHub

Diff(差分表示)機能の強化

  • linematchアルゴリズム の追加('diffopt'で指定)
    • バッファ間の類似行をより正確に整列・強調表示
  • diffanchorsオプション でアンカー(分割点)指定可能
    • 複雑なファイルでも独立した差分整列が可能
  • インラインハイライト の強化
    • 行内の差分も強調表示('diffopt'の"inline"サブオプションで設定)

デフォルト値の変更

| オプション | 旧デフォルト | 新デフォルト(9.2) | |----------------|-------------|---------------------------------------| | 'history' | 50 | 200(履歴保存数増加) | | 'backspace' | "" | "indent,eol,start"(通常のバックスペース挙動)| | 'diffopt' | "internal,filler" | "internal,filler,closeoff,indent-heuristic,inline:char"| | 'fontsize'(GTK)| 10pt | 12pt(高DPI最適化) | | 'showcmd' | Off(Unix) | On(非互換モードで常時表示) | | 'ruler' | Off | On(デフォルトでカーソル位置表示) |

補完機能の利用例

  • 自動補完

    • ファイルサイズに関係なく高速な補完体験
    • 例:InsComplete()関数で入力補完イベント制御
  • ライブgrep・ファジーファイル/バッファ検索

    • GrepComplete()FuzzyFind()等で柔軟な候補提示
    • <leader>キーで各種検索コマンドを素早く起動
  • コマンドライン補完

    • CmdComplete()でコマンド入力時にも自動補完
    • ポップアップメニューの高さや履歴呼び出し挙動もカスタマイズ可能

その他の改善・変更点

  • バグ修正 :セキュリティ脆弱性、メモリリーク、クラッシュ対策
  • 新関数・autocmd・Exコマンド・オプション の追加
  • 詳細は:h new-other-9.2、変更点は:h changed-9.2、パッチ一覧は:h patches-9.2参照

チャリティ活動の継続とパートナー移行

  • ICCF Holland解散

    • Bram Moolenaarの逝去に伴い従来の財団は解散
    • 残余資金は Kibaaleプロジェクト 支援のため移管
  • Kuwashaとの提携

    • カナダ拠点の Kuwasha が新たなパートナーとしてプロジェクト継続

    • Vimは今後も Charityware として運営、引き続き支援を呼びかけ

    • 詳細・支援方法は Sponsorページ 参照

感謝とダウンロード

  • 貢献者、翻訳者、バグ報告者 への感謝
  • 新バージョンのダウンロード はDownloadページから可能
  • リリース日: 2026年2月14日

Hackerたちの意見

Vim9が進展してるのを見ると嬉しいね。重心がちょっとNeovimの方に移ったかもしれないけど、今のNeovimエコシステムは、もっとIDEっぽいものを求めてる人向けみたい。ひとつ気になるのは、もっとプラグイン作者がVim9Scriptに移行するのかな?Neovimユーザーは一般的にLuaベースのプラグインに移行してるから、NeovimとVim9の両方をサポートするプラグインを作るモチベーションが減ってる感じがする。

あなたの質問のターゲットじゃないけど(プラグインは0個配布してるし)。NeovimのLuaサポートが、Emacsから移った主な理由なんだ。ElispもVimも、正直言ってちょっと辛い。とはいえ、選べるならLua以外のものが良かったな。

vim9scriptが大好きで、今はほとんどのプラグインをそれで書いてるよ。もちろん、他のヴィムでも動かしたいものは別だけどね。進化していくのを見るのが本当に嬉しいし、特にタプルサポートが実装されたのが嬉しい!

Vimが続いてるのを見ると嬉しい!

https://github.com/vim/vim/tags にv9.2のタグがないのは変だね。

関連するリリースコミットは、https://github.com/vim/vim/commit/e7e21018fc0b60c153c8e668f6...(執筆時点で2時間前)。まだタグは公開されてないみたいだけど。

あ、見逃しちゃった。今はv9.2.0タグとv9.2.0000タグがあるね。

でもAI機能はどこにあるの??置いてかれちゃうよ!もちろん冗談だけど、こういう大きな新バージョンの発表でAIのゴタゴタがないのは、逆にすごく新鮮だね。

:今すぐvimを終了してください

自然言語で編集やアクションを説明すると、私のollamaモデルが「Practical Vim」みたいな本を元にキーシーケンスを返してくれるvim拡張を作ったんだ。vimを離れずにeを押すだけで実行できるから、自動化の手助けが得られるし、文法も学べるよ。

それには同意するけど、ちょっと気になることがあるんだ。みんなはvimでAIをどう使ってるの?ollamaのスクリプトは見たことあるけど、大多数の人は何をしてるの?

Vimやその仲間たちは、実際の知能を持ってるよ。指や手、腕、胴体とつながって使われてるからね。

AISREIR AIはすべてをRustで書き直すべきだね。

でもAI機能はどこにあるの??置いていかれちゃうよ!明らかにvimにはAIは必要ないけど、私が本当に欲しい機能は複数カーソルのネイティブサポートだな。これがあったからこそ、何年も前にSublime Textに移ったんだし、今使ってるエディタ、VSCodeからZedまで、ほとんどすべてに必要な機能だよ。プラグインもあるけど、マルチカーソルはすごく強力な機能だから、ネイティブ実装があればもっと良くなると思う。

Vimは今やXDGベースディレクトリ仕様に準拠してる、クールだね。

30年以上にわたり、Vimは「チャリティウェア」で、ウガンダのキバールで子供たちを支援してきた。ブラム・ムーレナールが亡くなった後、ICCFホランド財団は解散し […] 残った資金はキバールプロジェクトの継続的な支援を確保するために移転された。 […] Vimは今もチャリティウェアだ。ユーザーにはこの新しい移行を通じて、ウガンダの困っている子供たちを支援し続けることを勧めるよ。技術的なメリットでVimを選んだけど、ブラムが長い間こういうチャリティに善意を使ってくれてたことが、いつも自分の選択に満足感を与えてくれた。

大企業で働いてたことがあって、内部使用のためにvimを「承認」してもらおうとしたんだ。チャリティウェアの条項が原因で、法務部がいろんな議論に巻き込まれて、寄付なしで使うと責任を負う可能性があるって言われたのを覚えてる。それが大企業のプロセスを乗り越えるための初めてのレッスンだった。結局、Linuxのパッケージリポジトリに含まれてるってことは黙ってたよ。(ちなみに、Bramがやったことには完全に賛成してる)

これって合ってるかな?ヴィムに寄付してる人たちは、ソフトウェアのサポートのために寄付してると思うけど、その寄付金がウガンダの子供たちを支援する慈善団体に渡されてるの?

私はvimの初心者なんだ。毎日テキストファイルや少しのコードを編集するために使ってるけど、プラグインやスクリプト言語がちょっと難しく感じる。いろんなプラグイン管理システムがあって、しかもそれぞれが対立してるし、vim特有のスクリプト言語もあって、何回か挑戦したけどすぐに手に負えなくなっちゃった。だから、Vim 9.2が出たことを機に、vimスキルを「レベルアップ」するための優しい道をおすすめしてくれる人、いる?

それ、本当に必要なの?スクリプト言語はまあまあだけど、実際に何かをやってみないと実感が湧かないよ。僕のvimrcを見てみて、2000年頃から更新してるよ。 https://github.com/svilendobrev/svd_bin/blob/master/qini/_vi...

D. Neilの『Practical Vim』と『Modern Vim』、それにB. Kleinの『VimL Primer』があるよ。でも、ヴィムはed(1)から始まる文化そのものなんだ。行番号や正規表現でのアドレス指定、コマンドを使って編集するんだよね。それからex(1)が追加機能を持ってきた。vi(1)はex(1)にvisualモードを追加して、いくつかのコマンドがカーソルの位置に関連して実行できるようになった。ヴィムはvi(1)の改良版で、もっと多くのコマンドとスクリプト言語を持ってる。プラグインシステムは当時のユニックスに似ていて、$PATHのような変数に依存してる。あの変数に追加されたパス(ヴィムのruntimepath)は、サブディレクトリのパターンに従って、特定のロジックでファイルが読み込まれるんだ。プラグインマネージャーは実際にその変数を管理して、いくつかのことを別にやってるよ(プラグインの隔離や、フォージからのダウンロードなど)。[0]: https://pragprog.com/titles/dnvim2/practical-vim-second-edit... [1]: https://pragprog.com/titles/modvim/modern-vim/ [2]: https://www.oreilly.com/library/view/the-viml-primer/9781680...

うん、Neovimに切り替えた方がいいよ。マジで、皮肉じゃなくて。最初は既存の.vimrcをインポートできるし、気にするならね。kickstartや他のシンプルな設定スキャフォールドを強くおすすめするよ。

「MS-WindowsのGUIは、メニューやタイトルバーのネイティブダークモードをサポートし、フルスクリーンの改善や高品質のツールバーアイコンも追加されました。新しいリリースおめでとうございます!これらの素晴らしい改善を楽しみにしています。」

ヴィムの大ファンとして、nvimに乗り換えたことを言うのはちょっと複雑な気持ちだよ。正直、ヴィムのメンテナーたちはnvimを取り入れる方法を見つけるべきだと思う。

それは絶対に起こらないと思うよ。すでにいくつかの重要な点で分かれてるし、個人的にはvim9とその進化に満足してる。

NeoVimはかなりの量のレガシーコード(例えば8.3ファイル名サポート)を捨てて、デフォルトの設定を大幅に改善したよ。二つを統合するのは、一方の陣営を不快にさせることになるから無理だね。ヴィムは40年前のハードウェアで動く安定したプラットフォームであり続けたいと思ってる。NeoVIMはもはや必要ないゴミを捨てたかったんだ。

新機能を頻繁に追加せず、長期的に安定して動作することも大事だと思う。私のローカルマシン、Raspberry Pi、そしていくつかのプロプライエタリソフト用に使ってるUbuntu 20.04のVMでも、vimは同じように動くしね。また、vimの一部として意味のある拡張機能や新機能が思いつかないな(もっと欲しいなら、もっとたくさん欲しいし。シンプルさと一貫性のために、vimにたくさんのことをさせたくない。そういうのはVScodeのvim拡張の仕事だと思う)。でも、誰かがこのプログラムに機能を追加することには反対しないよ。ただ、その機能に頼るようになるには本当に頑張って説得してもらわないとね(Ubuntu 20.04ではその機能がないから、使い方を忘れちゃうと思う)。数年前にnvimを試したけど、正直言って特にメリットを感じなかった。でも、:shが筋肉記憶にあったから、ちょっと(かなり?)違ったのもあってnvimは諦めた。

NeovimはUIが決まったの?

長年興味があったけど、やっとちゃんとvimを学ぶために時間をかけることにしたよ。AIのおかげで、リクエストの合間に学ぶ時間が増えたし、IDEを使ったりAIに簡単な変更を頼むのがすごく遅く感じるようになった。自分のワークフローがより効率的になったから、vimを学ぶ価値がさらに増したね。小さな詳細をすぐに修正したり、繰り返したりできるから。