Vim、約6年振りにメジャーバージョンアップ
Unix/Linux環境で幅広く使われているテキストエディタ「Vim」。そのVimが、2016年の9月以来、約6年の年月を経て、最新バージョン「Vim 9.0」をリリースしました。
#元記事はこちら。
今回のバージョンアップの大きな「目玉」は、Vim内で実行されるスクリプト言語「Vim9 Script」の実装でしょう。
Vimには機能を拡張するための独自言語「Vim Script」が内蔵されています。数多くのライブラリが公開され、これもまた、Unix/Linux環境で幅広く使われている要因でもあります。この「Vim Script」、バージョンを重ねるたびに機能を追加されているのですが、後方完全互換(前のバージョンの機能をそのまま使えるようにする)で進化してきました。しかし、現在の観点では望ましくない実装も含まれており、それがスクリプト機能の発展を阻んでいるとされていました。特に、パフォーマンスの面では深刻で、スクリプトを1行1行、逐次翻訳して実行するので、実行速度に「難」がありました。また、構文や文法が、現在主流のプログラミング言語と大きく異なるため、最近プログラミングを始めたばかりの人(特にWindows、Macといったビジュアル環境が整った環境から始めた人)がVimを使うにあたり、「壁」となるという事態も出てきました。
そこで、「Vim9 Script」では、100%の後方互換を諦め、性能向上と文法のモダナイズに焦点を当てて一から作り直しました。まずパフォーマンスの面での改善ですが、これまで1行ずつの逐次翻訳実行であったものを、バイトコードにコンパイルしてから実行するように変更されました。これにより、逐次翻訳実行ではなくなったため、大幅にパフォーマンスを上げることが可能となりました。
文法面においては、モダンなスクリプト言語の文法に沿うような形となり、Vim初心者でも学習コストがあまりかからないようになりました。例えば、関数の定義は、以前は"function"で定義していましたが、"def"で定義するようになりました。また、引数や戻り値に「型」を規定することにより、コードミスを早期に見つけることを可能としました。また、関数定義が複数行に渡って書かれる場合、以前は行末に行継続文字(半角の円マークまたはバックスラッシュ)を付ける必要がありましたが、これを無くしました。加えて、コメントの文法を、他のスクリプト言語で馴染みのある"#"以降をコメントとする文法に改めました。
なお、「Vim9 Script」は後方完全互換ではなくなりましたが、以前のバージョンで書かれたスクリプトは「Vim 9.0」でも実行可能とのこと。数多くの「資産」がありますので、それが活かせるのは喜ばしい限りです。
歴史あるテキストエディターが、ここに来てまた「進化」しました。Vimも慣れれば、かなり使い勝手のあるテキストエディタなんですよね。何せ、フルキー側から手を離すことなく、色々な操作ができるので(あまりにも洗練されたキーバインドなので、他のテキストエディタでもviモードを持つくらいですから)。これを機に、今までVimを使ったことが無いプログラマも、Vimに触ってみるのもいいかもしれませんね。
最近のコメント