Emacs 24 あるように見える パッケージマネージャー。 Vimにはどのようなパッケージ管理オプションがありますか?
Vimのプラグイン管理は、プラグインファイルを個人のvimランタイムディレクトリ全体に分散させるという従来の方法で苦労していました。 ~/.vim
* nixシステムの場合。プラグインをインストールすると、必要な手順である古いプラグインファイルを削除する簡単な方法がないため、更新するのは困難です。
最初に、優れたプラグイン管理ツールがどのようにあるべきかについての個人的な要件をリストしたいと思います。
多くの実装があります( Vim-Scripts.org には 包括的要約 使用可能なすべてのツールがあります)、作成順序でいくつかの主要なツールについてのみ説明します。
vimball は問題を解決する最初の試みであり、実際には多くのプラグインが*.vba
長い間一緒にパッケージします。 GetLatestVimScripts と組み合わせて、これはvimプラグイン管理の従来の方法を形成しました。
それでも、問題は Tim Pope の pathogen ( Github Repo )まで残り、各プラグインを独自のディレクトリに配置してロードします起動時に、vimの「rtp(runtimepath)」を変更して表示されました。これは大きな進歩です。- git/githubがホストするvim-scripts.org およびその他のツール(たとえば vimmer )と組み合わせて、vimプラグインを管理する現代的な方法を形成します。このトピックについて多くの記事やビデオがあります。
プラグインを管理するプラグインとして、病原体には、プラグインの検索、インストール、更新、削除などのコア機能がまだありません。その結果、 VAM(Vim-Addon-Manager) ( Github Repo )がステップアウトしました。 VAMは、プラグインマネージャーに必要なほぼすべてを提供します。プラグインファイルを独自のディレクトリに配置し、vim起動時にプラグインを読み込み、exコマンドラインでプラグインを検索/インストール/更新/削除します。プラグインの依存関係も解決します。 VAMはフル機能のvimプラグインマネージャーとして必要なもののようですが、私の観点からは、VAMのアプローチは少し洗練されていて、時には過剰に設計されています。それはまだ素晴らしいプラグインであり、使用する価値がありますが。
次に、Tom Linkの tplugin ( Github Repo )が登場しました。これは、 AsNeeded と同様に、関連するコマンドまたは関数が呼び出されたときにのみプラグインをロードすることで、病原体を改善しました=。また、ある種の依存関係を解決するメカニズムがあり、これはニースのようです。
フィンナリーでは、Gmarikは Vundle ( Github Repo )を作成しました。これはRubyの Bundler からインスピレーションを得たTim Popeの病原体の後継であり、より良いユーザーインターフェイスを提供しますおよび追加の管理機能。 Vundle to Vimは、Bundlerとa Ruby Project。vimrcで宣言された必要なプラグインを持つことにより、vundleは、exコマンドラインインターフェイスを介して、プラグインのインストール/更新および削除を含む、残りのすべてを処理します最も重要なことは、vundleは純粋なVimLで実装されていることです。 Github。Vundleは、プラグインを検索およびインストールするための派手なインタラクティブインターフェイスも提供します。
しかし、Vundleは私の要件を完全には満たしていませんが、正しい方向に向かっています。これは私にとって良い出発点のようです。
VAMの作者MarcWeberによる ディスカッション と vimプラグインマネージャーの別の比較 です。
Pathogen.vimもあります
http://www.vim.org/scripts/script.php?script_id=2332
求めているものとは異なりますが、GitHubやBitbucketからのチェックアウトを管理する手段を提供します。
これは、プラグインのディレクトリ構造を分離するので便利です。したがって、メンテナーに依存してコードを更新するのではなく、プラグインのリポジトリをチェックアウトし、適切なバージョン管理を取得できます。また、引用されている他のオプションで必要とされるセットアップ/パッケージ化は、プラグインの作成者に依存しません。
Vim.orgにはこのタスクを実行する他のプラグインがいくつかありますが、現時点ではそれらを見つけることができません
私は今のところ手作りのセットアップを使用していますが、私はいつかこれを試してみるように言い続けています(リンクはすべて同じプラグインに関係しています):
繰り返しますが、私はまだ実際に自分でこれを試していませんが、確かに有望に見えます。
Vim.org + Vimballs + GetLatestVimScriptsは、現時点でvimプラグインを管理するために構築されたものです。
:h GetLatestVimScripts
それについての悪いこと:
「vimpyre」という名前のツールを作成しました。GitHubサービスを使用してvimプラグインを検索、インストール、アンインストール、更新できます。 https://github.com/pct/vimpyre