webdevqa.jp.net

Vimのパッケージ(プラグイン)管理

Emacs 24 あるように見える パッケージマネージャー。 Vimにはどのようなパッケージ管理オプションがありますか?

74
ntimes

私は今 VimPlug for my own Vimの設定を使用しています。インストールは非常に簡単で、高速できれいで効果的です!

VimPlug video

この回答では Vundle を推奨していました。しかし、Vundleはもはやメンテナンスされておらず、より良い代替手段があります。

83
Jostein

Vimのプラグイン管理は、プラグインファイルを個人のvimランタイムディレクトリ全体に分散させるという従来の方法で苦労していました。 ~/.vim * nixシステムの場合。プラグインをインストールすると、必要な手順である古いプラグインファイルを削除する簡単な方法がないため、更新するのは困難です。

最初に、優れたプラグイン管理ツールがどのようにあるべきかについての個人的な要件をリストしたいと思います。

  1. 純粋なVimLで書かなければならない
  2. プラグインを独自のディレクトリにインストールするものとします
  3. vimの起動時にプラグインを自動ロードします。必要に応じてロードできます
  4. プラグインをインストール、更新、削除する組み込みの方法が必要です
  5. プラグインを必要とする組み込みの検索方法があると便利です
  6. 必要なプラグインをファイルで宣言できるものとします
  7. 依存関係を解決するメカニズムがあると便利

多くの実装があります( Vim-Scripts.org には 包括的要約 使用可能なすべてのツールがあります)、作成順序でいくつかの主要なツールについてのみ説明します。

vimball は問題を解決する最初の試みであり、実際には多くのプラグインが*.vba長い間一緒にパッケージします。 GetLatestVimScripts と組み合わせて、これはvimプラグイン管理の従来の方法を形成しました。

それでも、問題は Tim PopepathogenGithub 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の tpluginGithub Repo )が登場しました。これは、 AsNeeded と同様に、関連するコマンドまたは関数が呼び出されたときにのみプラグインをロードすることで、病原体を改善しました=。また、ある種の依存関係を解決するメカニズムがあり、これはニースのようです。

フィンナリーでは、Gmarikは VundleGithub Repo )を作成しました。これはRubyの Bundler からインスピレーションを得たTim Popeの病原体の後継であり、より良いユーザーインターフェイスを提供しますおよび追加の管理機能。 Vundle to Vimは、Bundlerとa Ruby Project。vimrcで宣言された必要なプラグインを持つことにより、vundleは、exコマンドラインインターフェイスを介して、プラグインのインストール/更新および削除を含む、残りのすべてを処理します最も重要なことは、vundleは純粋なVimLで実装されていることです。 Github。Vundleは、プラグインを検索およびインストールするための派手なインタラクティブインターフェイスも提供します。

しかし、Vundleは私の要件を完全には満たしていませんが、正しい方向に向かっています。これは私にとって良い出発点のようです。

VAMの作者MarcWeberによる ディスカッションvimプラグインマネージャーの別の比較 です。

35
weynhamz

Pathogen.vimもあります

http://www.vim.org/scripts/script.php?script_id=2332

求めているものとは異なりますが、GitHubやBitbucketからのチェックアウトを管理する手段を提供します。

これは、プラグインのディレクトリ構造を分離するので便利です。したがって、メンテナーに依存してコードを更新するのではなく、プラグインのリポジトリをチェックアウトし、適切なバージョン管理を取得できます。また、引用されている他のオプションで必要とされるセットアップ/パッケージ化は、プラグインの作成者に依存しません。

Vim.orgにはこのタスクを実行する他のプラグインがいくつかありますが、現時点ではそれらを見つけることができません

25
michael

私は今のところ手作りのセットアップを使用していますが、私はいつかこれを試してみるように言い続けています(リンクはすべて同じプラグインに関係しています):

  1. vim-addon-manager :プラグインを簡単に管理および更新できます。 Marc Weber(@ vim.org)によるプラグイン
  2. GitHubプロファイル Marc Weber;彼は多くのv-a-m関連のリポジトリを持っています
  3. Vim-plugin-manager @ Vim wiki-ページの名前は異なりますが、実際には同じプラグインを意味します

繰り返しますが、私はまだ実際に自分でこれを試していませんが、確かに有望に見えます。

12
Michał Marczyk

Vim.org + Vimballs + GetLatestVimScriptsは、現時点でvimプラグインを管理するために構築されたものです。

:h GetLatestVimScripts

それについての悪いこと:

  • windowsをサポートしていません(GetLatestVimScriptsはwget AFAIRを使用します)
  • vim.orgには、GLVSおよびVimballに対応していない多くのプラグインがあります。
5
Maxim Kim

NeoBundle 、vimの究極のパッケージマネージャーをご覧ください。 Vundle のフォークです。

3
trusktr

「vimpyre」という名前のツールを作成しました。GitHubサービスを使用してvimプラグインを検索、インストール、アンインストール、更新できます。 https://github.com/pct/vimpyre

2
pct