ニュース
「Vim」がスクリプト言語を一新 ~約6年ぶりのメジャーバージョンアップv9.0が公開
レガシースクリプトをため込んでる人も安心、引き続きサポートされる
2022年6月29日 17:04
テキストエディター「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)