サーチ…
備考
プラグインは、存在しないフィーチャを追加するか、既存のフィーチャを拡張することによって、Vimのデフォルト動作を変更するスクリプトまたは一連のスクリプトです。
多くの場合、「存在しない機能」を追加すると、
- コメント、
- インデント検出、
- オートコンプリート、
- ファジーマッチング、
- 特定の言語のサポート、
- 等
多くの場合、拡張された「既存の機能」には以下が含まれます。
- オムニ完了、
- テキストオブジェクトとモーション、
- ヤンク&パット、
- ステータス行、
- 検索&置換、
- バッファ/ウィンドウ/タブページの切り替え、
- 折り畳み、
- 等
プラグインのしくみ
プラグインは、30行のvimscriptを含む1つのファイルとして表示されることも、vimscript / python / ruby / 20MBのディレクトリを含む多数のファイルに分割することもできます。
前者は明らかにインストールと管理が容易ですが、後者の方がかなり難題です。
原則
'runtimepath'
オプションはVimにランタイムスクリプトを探す場所を指示します。デフォルト値では、Vimは次のディレクトリに順番にスクリプトを探します。
UNIXのようなシステムで
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
Windows上で
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
上記のディレクトリのうち、太字のプラグインのみをインストールしてください。他の理由は、正当な理由で不安定になる。プラグインをインストールすると、それぞれのコンポーネントが$HOME/.vim/
または$HOME/vimfiles/
下の正しいディレクトリに置かれます。
手動による方法
シングルファイルプラグイン
ファイルを$HOME/.vim/plugin
または$HOME/vimfiles/plugin
下に置く
これは、Vimの起動時にプラグインのソースとなります。これで、ユーザーはその中で定義されたすべてを使用できました。ただし、プラグインがアクティブ化を必要とする場合、ユーザーはコマンドを使用するたびにコマンドを実行するか、コマンドを.vimrc
追加する必要があり.vimrc
バンドル
バンドルは、プラグインが使用するディレクトリ構造です。これは、適切なサブディレクトリの下にあるプラグインのすべてのファイルで構成されます。
このようなプラグインをインストールするには、サブディレクトリを$HOME/.vim/plugin
対応するものとマージする必要があり$HOME/.vim/plugin
。しかし、このアプローチは同じディレクトリ内の異なるプラグインのファイルを混在させ、名前空間の問題を引き起こす可能性があります。
別のアプローチは、ディレクトリ全体を$HOME/.vim/bundle
にコピーすることです。
この方法を使用する場合は、 $HOME/.vim/bundle/autoload
ディレクトリの下に少なくとも1つの.vim
ファイルが存在する必要があります。これらのファイルは起動時にvimによってソースされます。
注:ユーザーのオペレーティングシステムによっては、すべてのパスの接頭辞は$HOME/vimfiles
可能性があります。詳細については、 プラグインの仕組みを参照してください。
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
VundleはVimのプラグインマネージャです。
Vundleのインストール
(完全なインストールの詳細はVundleクイックスタートにあります )
Gitをインストールし、
~/.vim/bundle/Vundle.vim
ます。.vimrc
の上部に以下を追加してプラグインを設定し、必要に応じてプラグインを追加または削除します(リスト内のプラグインは単に説明のためのものです)set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on "place non-Plugin stuff after this line
プラグインをインストールする:Vimを起動して実行する
:PluginInstall
。
サポートされているプラグイン形式
以下は、サポートされている異なるフォーマットの例です。 vundle#begin
とvundle#end
間にプラグインコマンドをvundle#begin
ます。
プラグインの場所 | 使用法 |
---|---|
GitHubのプラグイン | Plugin 'tpope/vim-fugitive' |
http://vim-scripts.org/vim/scripts.htmlのプラグイン | Plugin 'L9' |
GitHubでホストされていないGitプラグイン | Plugin 'git://git.wincent.com/command-t.git' |
あなたのローカルマシンでgit reposを実行する(つまり、自分のプラグインで作業しているとき) | Plugin 'file:///home/gmarik/path/to/plugin' |
sparkup vimスクリプトはvimという名前のこのリポジトリのサブディレクトリにあります。パスを渡して、ランタイムパスを適切に設定します。 | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
別のバージョンを既にインストールしている場合は、L9をインストールしてネーミングの競合を避けてください。 | Plugin 'ascenator/L9', {'name': 'newL9'} |
クラスタヘッドノードなどの共有アカウントを使用すると、 .vim
ディレクトリによるディスク使用のポイントから問題が発生する可能性があります。かなりの量のディスク容量を必要とするパッケージが2つあります( YCMなど) 。だから、あなたのVundle
プラグインのディレクトリを賢明に選んでください。 Vundle
rtp
を設定することで、非常に簡単です。また、vimプラグインをインストールする予定がある場合は、 bundle
ディレクトリでgit clone
を直接実行しないでください。 Vundleの方法を使用してください。
未来:パッケージ
参照:help packages
。
病原体
vim-pathogenは、Tim Popeが独自のプライベートディレクトリにプラグインとランタイムファイルを簡単にインストールできるようにするために作成されたランタイムruntimepath
マネージャです。
病原菌のインストール
病原体を
~/.vim/bundle
入れてください(ここでGitとしますが、必須ではありません):git clone https://github.com/tpope/vim-pathogen.git
.vimrc
の先頭に次の行を追加します。" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
-
runtime
ディレクティブは、vim-pathogen
自動ロード・スクリプトへのパスを指定します。 -
execute pathogen#infect()
開始します。
開始されると、Pathogenは自動的に~/.vim/bundle
内のフォルダからスイープを開始し、それぞれからプラグインをロードします。
病原菌の使用
- あなたのプラグインの最上位のディレクトリを
~/.vim/bundle/
に入れて、次にVimを起動するようにします。 - Run
:Helptags
新しいプラグインのドキュメントのインデックスを作成する:Helptags
。
利点
- 各プラグインは
~/.vim/bundle/
下にある独自のディレクトリにあります。 -
.vimrc
は、プラグインをロードするために必要な設定からきれいになります。
プラグインを「管理する」ために必要な作業は、
- そのトップレベルのディレクトリには、下に置か
~/.vim/bundle/
、それをインストールするには - その最上位のディレクトリを置き換えて更新し、
- その最上位ディレクトリを削除してアンインストールします。
これらの3つのアクション(手動、自動化ツール、Git / Svn / Hg /など)をどのように実行するかは完全にあなた次第です。