ニュース

「Vim」がスクリプト言語を一新 ~約6年ぶりのメジャーバージョンアップv9.0が公開

レガシースクリプトをため込んでる人も安心、引き続きサポートされる

「Vim 9.0」

 テキストエディター「Vim」の最新版「Vim 9.0」が、6月28日に公開された。2016年9月以来、約6年ぶりのメジャーバージョンアップとなる。

 「Vim」(Vi IMproved)は「Emacs」と並んでUnix界隈で広く利用されている高機能なテキストエディター。複数のモードとコマンドを組み合わせる独特の操作体系を備えており、すべてのテキスト編集操作をキーボードのみですばやく快適に行えるように設計されているのが特徴。オープンソースで開発されているチャリティーウェアで、Windows/Mac/Linux以外にも幅広いプラットフォームをサポートしている。現在、公式サイトから無償でダウンロードでき、Windows版(gvim)は窓の杜ライブラリからダウンロードすることも可能。

 「Vim 9.0」における変更は多岐にわたるが、なかでも重要なのが「Vim9 Script」のサポートだ。

 「Vim」のスクリプト機能は後方互換性を維持しながら、長い時間をかけて拡張されてきた。しかし、現在の観点からは望ましくない仕様も多く含んでおり、それがスクリプト機能の改善を阻んでいる。とくにパフォーマンス面での問題は深刻で、各行を実行するたびに解析しなければならないため、かなり遅い。

 また、現在のプログラミング言語(JavaScript、TypeScript、Javaなど)と構造がまったく異なるのも学習コストが高い。「Vim」に慣れたユーザーならまだしも、新たに「Vim」を使い始める人にとっては難しく感じるだろう。

 そこで、「Vim9 Script」では100%の後方互換性をあきらめ、性能向上と文法のモダナイズにフォーカスして開発された。

 たとえば、関数を「function」ではなく「def」で定義し、引数の型と戻り値の型を指定すると、定義された関数はバイトコードにコンパイルされるようになる。逐次解釈して実行するよりもはるかに効率的で、10倍から100倍もの高速化が期待できるほか、型システムはコードミスを早期に発見するのにも役立つ。

 関数が複数行にわたっても行継続文字(¥)は不要で、「Python」などでもお馴染みの「#」からはじまるコメントも利用できる。大きなスクリプトは分割して外部に公開したい機能だけ「export」でき、他のスクリプトにインポートできるため、保守性も向上する。

 なお、レガシースクリプトも今まで通り動作するとのこと。レガシースクリプトのサポートを終了する予定はないとのことで、開発チームは「Python 2」が廃止されたときのようなドラマはありえないとしている。

ソフトウェア情報

「Vim」
【著作権者】
Bram Moolenaar 氏
【対応OS】
Windows/Mac/Linuxなど(編集部にてWindows 10で動作確認)
【ソフト種別】
フリーソフト(寄付歓迎)
【バージョン】
9.0(22/06/28)