だから私の質問は簡単です。vimを作成するためだけにvimスクリプトを学ぶのは良い考えですか、それとも他の受け入れられている言語を採用する必要がありますか?
たとえば、このリンクは、Pythonを使用してvimプラグインを作成する方法を示すYouTubeビデオを開きます。
いくつかのvimプラグインを作成するつもりがない限り、Vimスクリプトは完全には役に立ちません。それでは、vimスクリプトのみを使用しないと実行できない特定のことはありますか?
だから私の質問は簡単です。vimを作成するためだけにvimスクリプトを学ぶのは良い考えですか、それとも他の受け入れられている言語を採用する必要がありますか?
たとえば、このリンクは、Pythonを使用してvimプラグインを作成する方法を示すYouTubeビデオを開きます。
いくつかのvimプラグインを作成するつもりがない限り、Vimスクリプトは完全には役に立ちません。それでは、vimスクリプトのみを使用しないと実行できない特定のことはありますか?
回答:
私のプラグインはVimLで99%です。その理由は、vimがインストールされている場所でVimLを使用できるためです。他の言語ではもっと複雑です-たとえば、Vimを使用するウィンドウボックスにPythonがインストールされていることはまれです。
もちろんVimLは扱いにくいですが、多くの優れた機能がありませんが、少なくともポータブルなものを持っている方が簡単です。
VimLにない1%は、Pythonバインディングを提供する外部APIと対話する必要がある場合です。
ところで、VimLについて学んだほとんどすべてのものは、のようなコマンドで遊ぶときにインタラクティブに使用できます:substitute
。ほとんどのマッピングまたはマクロには、Pythonも必要ありません。
map()
、文字列を期待する、または(無関係)を参照してください:map
。私はしばしば、マッピングの生成や関数呼び出しのリストの処理などの目的を達成するために、文字列評価で遊んだりしなければなりません...
exec
VimLのスニペットを取得することになります。これにより、コアロジックを、より効率的に作業できる言語で記述できますが、VimLを学ぶ必要はほとんどありません。
プラグインを書くつもりなら、間違いなくSteve Loshによるすばらしい記事「Wiming Vim Plugins」を読んでください。VimLを使用するかどうかを決定するためだけでなく、ベストプラクティスのアドバイスも提供します。
また、他の言語でのVimのスクリプト作成に関する簡単な説明も含まれています。
まず、別の言語を使用するには、プラグインのユーザーがそのバージョンのサポートでコンパイルされたVimのバージョンを使用する必要があります。この時代では、それは通常問題ではありませんが、プラグインをどこでも実行したい場合、それはオプションではありません。
別の言語を使用すると、オーバーヘッドが追加されます。Vimscriptだけでなく、Vimと言語間のインターフェースも学習する必要があります。小さなプラグインの場合、保存するよりもプロジェクトが複雑になる可能性がありますが、大きなプラグインの場合は、それだけで採算が取れます。それが価値があるかどうかを決めるのはあなた次第です。
最後に、別の言語を使用しても、Vimscriptの奇抜さから完全に隔離されるわけではありません。それでも、Vimscriptでほとんどのことを行う方法を学ぶ必要があります。別の言語を使用すると、他の言語を使用するよりも、ほとんどのことをよりきちんとまとめることができます。
私の経験では、VimL以外のプラグインの方が優れている場合でも、主に移植性のために、後で純粋なVimLの代替に切り替えることになりました。Vimは事実上すべてのシステム(醜くて古いレガシーシステムでも)で実行され、依存関係を設定したり、そのプラグインを一時的に無効にしたりするオーバーヘッドは価値がありません(特に、プラグインを無効にしていることを忘れて、そのマッピング/コマンドを使用しようとしている場合)。 。
依存関係を設定する方が簡単な場合でも、問題が発生する可能性があります(例:一部のpythonベースのプラグインは、仮想マシンの共有フォルダーから取得した場合、100%機能しません)。そのため、私が作成したいくつかのプラグインはVimLのみを使用しています。