Vim は、「昔ながらの」愛好家に人気のテキストおよびコード エディターであり(はるかに古い「Vi」の改良版として 1991 年にリリースされ、現在でもテキスト モードで実行できます)、今でも非常に多くのユーザー ベースを持っています。 Visual Studio Code のようなツールが好まれる時代が到来している現在、想像以上に。
彼らのファンは今でも非常に多く、 同様にレトロなエディタである Emacsの熱狂的なユーザーとともに定期的に「炎上」に出演し続けています。
Vim のこれまでの最後のバージョン (8.2) は 2 年半前にリリースされましたが、数日前に新しいバージョン 9.0 が利用可能になりました。これには、いくつかのバグ修正を除いて、新機能に関して 1 つの新機能のみが含まれています。新しいスクリプト言語。 「それは大きなニュースですか?」とあなたは尋ねるかもしれません。そして、はい、そうです。
Vim の大きな魅力の 1 つは、完全なキーの組み合わせとマクロの使用可能性のおかげで、すべてのタスクを簡単に実行できることにあります。これを使用している限り、マウスやツール メニューのことを忘れることができます。すべては数回のキーストロークで完了します。
Vim9Script が登場
しかし、必要なタスクを確実に実行するにはフレームワークさえ不十分な場合、Vim にはすでに内部スクリプト言語である Vimscript があり、複雑なタスクの自動化や拡張機能の作成が容易になりました。心配しないでください。下位互換性を確保するために、Vimscript は新しいバージョンの Vim でも引き続き使用できます。
ただし、この新しいバージョンでは、スクリプトのパフォーマンスを「劇的に」向上させることを目的とした新しいスクリプト言語 Vim9Script が導入されています。実際、開発者が発表したように、コンパイルされた Vim9Script 関数は、Vimscript で開発された関数よりも 10 ~ 1000 倍高速に実行されるようになりました。
実際、両方のバージョン間の構文の変更は比較的控えめです。ただし、JavaScript などの他のよく知られた言語の標準に近づけようとしています。重要な違いは、ローカル変数/関数とグローバル変数/関数の区別や、 :defで定義された関数は実行前にコンパイルされることなどの側面にあります。エラー処理にも若干の違いがあります。
Vim の作成者であり、現在も開発責任者であるBram Moolenar 氏は、昨年 1 月に公開されたインタビューで次のように説明しました。
「Vim9 は ‘フォーク’ ではありませんが、Vim を改善するための次のステップです。私はまず、関数をバイトコードにコンパイルすると Vim スクリプトの動作が大幅に高速になるかどうかを確認する実験を行いました。結果的には問題なく動作することがわかりました。構文を変更する必要がありました。
スクリプト言語の 2 つのバリアントを同時にサポートすることを選択するのは簡単な決断ではありませんでしたが、それは機能し、プラグイン作成者を満足させるものになると思います。 […] 各ファイルと各関数でどのような構文を使用するかを誰もが決定できます。」
