Vim / viにプラグインをインストールするにはどうすればよいですか?


96

Vimにプラグインをインストールするにはどうすればよいですか?

重要ですか:

  • viを使用するかVimを使用するか
  • gVimを使用するかどうか
  • 使用しているVimのバージョンは?
  • 私のOSは何ですか?

回答:


65

プラグインをインストールするには、どのフォームが入っているかを知る必要があります。

単一の.vimファイルが.vim/pluginディレクトリに配置されることになっています。

Vimballファイル、Vimで開いて実行するとインストールできます:source %

標準ディレクトリレイアウトのファイルセットは、コピーするか.vimプラグインパッケージマネージャーを使用してインストールできます。

プラグインは特定の機能に依存する場合があります。したがって:

  • Viを使用しているかVimを使用しているかは問題になりますが、
  • gVimを使用しているかどうかは問題になります(通常、gVimは同じディストリビューションのVimより多くの機能をコンパイル時に有効にします)。
  • Vimのバージョンの後に機能が追加されている可能性があるため、使用しているVimのバージョンは重要です。
  • 特にプラグインが外部コマンドを呼び出す場合、どのOSを使用しているかが問題になる場合があります。

ただし、ほとんどのプラグインでは、それは重要ではありません。


9
Viを使用している場合、それは間違いなく重要です-プラグインの概念はViには存在しません。もちろん、vi最新のボックスに入力すると、おそらくvimいくつかの機能がオフになった状態で起動します。最近、多くの人が実際の Viにアクセスできるとは思いません。
-tommcdo

37

vim-plug

vim-plugプラグインマネージャーを使用するのが好きです。

プラグインを手動でインストールする際の問題は、プラグインを削除するのがかなり難しいこと です。多くの場合、異なるディレクトリにいくつかの異なるファイルがあり、それらを手動で見つけて削除する必要があります。

問題のアップグレードも同様に困難です。autoload/old-name.vim名前が変更されたらどうなりautoload/new-name.vimますか?これで、古いバージョンと新しいバージョンの両方のプラグインができました。

vim-plug各プラグインを独自のディレクトリに保存することでこれを解決します。また、プラグインを簡単にインストール/削除するコマンドも含まれているため、プラグインの解凍などをいじる必要はありません。

Pathogenと比較したvim-plugの主な利点 は、vim-plugを使用するとプラグインをより簡単にインストールおよび削除できることです。Pathogenが行うことは、各プラグインを別々の含まれるディレクトリに置くことです。

vim-plugはgitに依存しています。MS Windowsの場合、msysgitが必要 です

次のように、vimrcでプラグインを定義できます。

call plug#begin('~/.vim/plugged')

" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')

Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc

call plug#end()

次に、Vimを再起動し、次のプラグインをインストールします。

:PlugInstall

これは、中にプラグインを置く~/.vim/pluggedか、$HOME\vimfiles\pluggedMS Windows用。

呼び出しの前に、FAQの vinrcファイルにこのスニペットを追加でき plug#begin()ます。

if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall
endif

curlこれが機能するために必要なことに注意してください。これはほとんどの場合LinuxとOSXで利用可能ですが、MS Windowsでは利用できません。このトリックはそこでは機能しません...

プラグインを削除するには、vimrcファイルからプラグインを削除して実行します:

:PlugClean

vim-plugはVimスクリプトWebサイトからのスクリプトのインストールをサポートしていませんが、それらのスクリプトはGitHubミラーリングされているため、そうする必要はありません。

これには、プラグインの更新が簡単になる、パフォーマンスを向上させるためのオンデマンドロードなど、追加の利点もあります。vimrcを別のコンピューターに簡単にコピーして、を実行し:PlugInstall、すべてのプラグインをインストールすることもできます。

プラグインマネージャーが他にもあることに注意してください。たまたま使用しますvim-plug。関連項目:vimパッケージマネージャーの違いは何ですか?


1
最も重要な利点のvimのプラグの一つは、他の人の上に持っているプラグインのパラレルインストール/ updationである
r3bo0t

「これらのスクリプトはGitHubにミラーリングされているため、そうする必要はありません。」残念ながら、スクレーパーはずっと前に機能しなくなりました。github.com/vim-scraper/vim-scraper/issues/...
Bluu

@Bluu Yeah、昨年のメンテナーに連絡しました。更新が必要な技術的なビットがいくつかありますが、実際に更新を実行する人はいません:-/ただし、多くのスクリプトはそれほど頻繁に更新されないため(特にGitHubにないスクリプト)
マーティントゥルノイ

25

病原体

Pathogenは、Vim内にプラグインをロードするランタイムパスマネージャーです。プラグインのインストールが簡単になります。仕組みは次のとおりです。

注:Windowsを使用している場合は、に置き換え~/.vimてください$HOME\vimfiles

  1. にコピーpathogen.vim~/.vim/autoload/pathogen.vimます。

  2. ~/.vim/bundleディレクトリがまだ存在しない場合は作成します。

  3. の先頭に次の行を追加します.vimrc

    execute pathogen#infect()
    
  4. 完了です!プラグインを追加する場合は、プラグインのディレクトリ全体をにコピーする~/.vim/bundlegit clone、そこにコピーします。例えば:

    cd ~/.vim/bundle
    git clone https://github.com/tpope/vim-surround
    
  5. *警告:プラグインが.vimファイル形式の場合、Pathogenで動作しません。~/.vim/plugin代わりにコピーします(このディレクトリが存在しない場合は作成する必要があります)。


5
注:病原体はプラグインマネージャーではありません
ロメイン

またはgit submodule add(の代わりにgit clone)vim設定がすでに独自のgitプロジェクトの一部である場合。
マーティンヨーク

@romainlそれは何ですか?
RodrikTheReader

3
runtimepathマネージャーです。それがruntimepathオプションを管理するように、それがすべてです。プラグインの更新、追加、取得、削除は一切処理しません。
ロメイン

1
Pathogenの使用に関する @romainlの優れた要点も参照してください。
icc97

23

Vim 8+ / Neovim

バージョン8には、新しいパッケージメカニズム導入し、主執筆時点(2017年)で、既存のプラグインマネージャ(病原体、VIM-プラグ、vundleなど)の必要性を置き換えます。

ドキュメントから:

Vim パッケージは、1つ以上のプラグインを含むディレクトリです

パッケージディレクトリには、2つのサブディレクトリが含まれます。

  • start/ -自動的にロードされるプラグインが含まれています
  • opt/ -オンデマンドでロードされるプラグインが含まれています :packadd

少し複雑に見えるかもしれませんが、実際には、ここにプラグインを追加するだけです

                 ↓ package name
~/ .vim / pack / bundle / start / some-plugin
          ↑ packages dir          ↑ plugin dir

Windowsの場合:の~\vimfiles\pack\代わりに使用~/.vim/pack/

慣例により、すべてのプラグインを含むディレクトリとしてパッケージ名「バンドル」を使用しました。任意の名前を使用できます。また、本当に必要な場合は、プラグインを別のパッケージディレクトリに配置することもできます。

例:sensible.vimのインストール

mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git

Windowsの場合:の~\vimfiles\pack\代わりに使用~/.vim/pack/

次回Vimを起動すると、プラグインが自動的にロードされます。


3
.vimバージョン管理下にある場合は、gitのサブモジュールを使用してプラグインをインストールすることをお勧めします。shapeshed.com/vim-packages/#adding-a-packageを参照してください。
アーチスタントン

時間ベースの回答があった場合、これは今日現在受け入れられている回答になります。
アミンナイリ

12

偉大で力強いバンドルを忘れないでください!

Vundleは、次の機能を備えた完全なプラグインマネージャーです。

  • プラグインの検索(を使用:PluginSearch
  • プラグインのインストール(を使用:PluginInstall
  • プラグインの更新(を使用:PluginUpdate
  • .vimrcでのプラグインのロードパスの管理(ロードしないプラグインエントリを単にコメントアウト)
  • 不要になったプラグインを削除する(を使用:PluginClean

ご覧のとおり、Carpetsmokerが言及したvim-plugマネージャーによく似ています。どちらが最初に来たのかはわかりませんが、それらのAPIはセットアッププロセスと同様、私と非常によく似ています


Vundleの優れた点はvim-plugに似ており、すべてのプラグインをに保存できる.vimrcため、新しいサーバーにインストールするときに必要なのは、Vundleの.vimrcインストールとすべてをインストールするためのである。さらに、プラグインをコメントアウトして「クリーン」にすることもできますが、名前を忘れてから数か月または数年後にコメントを戻すことができます。
icc97

さらに、比較的初心者に優しいVundleが好きです。それは物事を行うためのほとんど1つの方法を提供し、Sublime Textと同様の方法で動作します。
icc97

1

ほとんどの場合、プラグインは単一の.vimファイルになります。

その場合は、ヘルプを検索して実験し、次のことを見つけました。vim(コマンドモード)内から次のように入力します。

:set runtimepath

これにより、一連のディレクトリが表示されます。これらのディレクトリの一部にはpluginサブディレクトリがあります。これらのpluginサブディレクトリのいずれかに.vimファイルを配置すると、どこからでもvimを起動したときに自動的にロードされます。

私にとって、Ubuntu linuxでは、/usr/share/vim/vim74/pluginすべてのユーザーにインストールするのにうまくいくことがわかりました。ここにファイルをコピーするにはルート権限が必要な場合があります(cpまたはmvコマンドの前にを付けますsudo)。


3
私見これはベストプラクティスではありません。があることに注意してください。vim74これはバージョン固有であるため、Vim 8.0にアップグレードするとそのプラグインが失われます。よりアップグレードに/etc/vim/runtimepath/etc/vimrc
耐える

3
@grodzikコメントに追加するには:Most likely, your plugin will be a single .vim file同意しません。プラグインの大部分は.txtドキュメントを含むファイルに付属しており、機能的なドキュメントを取得するにはタグを生成する必要があります。また、多くのプラグインにはautoloadディレクトリが付属しています。私は、プラグインマネージャを使用すると、手動でruntimepathを管理するより良い解決策だと思い
statox

-1 /usr/share/vim/vimXXはストックランタイムであり、サイト構成/プラグインの場所ではありません。代わりに、サイト構成/プラグインは$VIM、そのシステム上の任意の場所に配置する必要があります(を参照:h vimfiles)。通常、これはです/usr/share/vim。これはUbuntuの場合で、へのシンボリックリンクを保持してい/etc/vimます。一般に、パッケージマネージャーの外部の/usr/local/サイト構成の事実上の場所です。Neovimはを使用し、ディレクトリを使用するため、サイト構成のすぐに使用可能なデフォルトが提供されることに注意してください。$XDG_(CONFIG|DATA)_DIRSsite
ゼロナイト

1

Vireは最新のパック形式を利用してプラグインをインストールし、VimとNeovimをサポートしています。どこに行くかを知る必要はありません。vimrcを提供するだけで、Vireが残りを処理します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.