はじめに
Vim でプラグインを利用する方法は複数ありますが、どの方法でも最終的には「runtimepath
で指定されたパスに、プラグインのファイル群を正しい構造でコピーする」ことで Vim に読み込まれるようになります。
プラグインを複数導入したり、プラグインのバージョンアップを簡単に行いたい場合は、参考サイトにあるように「プラグインを管理するプラグイン」を利用するのが便利です。
しかし、直接導入することでプラグインの仕組みを理解するのも大変よいと思います。
先に結論
ダウンロードしてきたプラグインを ~/.vim/pack/my/start/<name>/ にコピーします。
<name> はプラグイン名にしておくのが分かりやすいでしょう。
(my の部分も任意の名前に変えられます。)
ファイル構成の例
~/.vim/pack/my/start/
└ vim-autocomplpop/
├ autoload/
│ └ acp.vim
├ doc/
│ ├ acp.jax
│ └ acp.txt
└ plugin/
└ acp.vim
vimrc ファイルの先頭に set nocompatible
を書きます。
これは Vim の色々な機能を有効にします。
この設定を書かないと動作しないプラグインも多いです。
vimrc
1set nocompatible
2set number "行番号を表示
3set cursorline "カーソルの行を表示
4
5...
runtimepath
について
runtimepath
はシェルの PATH 環境変数と似た構造をしています。
カンマで区切られた複数のディレクトリパスを文字列として指定します。
Vim で参照されるスクリプト等が runtimepath
から検索されて読み込まれます。
'runtimepath' - Vim日本語ドキュメント
設定は以下のように書きます。
vim
1" 標準の設定の後ろに追加するため `+=` を使う
2set runtimepath+=~/foo/bar
3
4" 標準の設定の前に追加するため `^=' を使う
5" (組み込みプラグインより優先順位が上になる)
6set runtimepath^=/tmp/baz/qux
プラグイン構成の種類
Vim のプラグイン構成には2種類あります。
- 一つの Vim script ファイルだけで構成されるプラグイン
- 複数のファイルとディレクトリで構成されるプラグイン
一つの Vim script ファイルだけで構成されるプラグイン
この構成のプラグインは ~/.vim/plugin/ にコピーすると読み込まれるようになります。
通常は runtimepath
を設定する必要はありません。
標準で ~/.vim/ が runtimepath
に含まれており、<runtimepath>/plugin/*.vim のスクリプトが読み込まれるからです。
複数のファイルとディレクトリで構成されるプラグイン
この構成のプラグインは ~/.vim/plugin/ にコピーしてはいけません。
よくある構造は以下のようになっています。
├ autoload/foo.vim
├ doc/foo.txt
├ plugin/foo.vim
└ README
この autoload, doc, plugin 等のディレクトリ名がファイルの用途と読み込み方法を決定するため重要です。
このファイル群を適当なディレクトリにコピーし、そのパスを runtimepath
に追加します。
ファイル構成の例
~/.my-vim-plugins/
└ vim-autocomplpop/
├ autoload/
│ └ acp.vim
├ doc/
│ ├ acp.jax
│ └ acp.txt
└ plugin/
└ acp.vim
vimrc の例
vim
1set nocompatible
2set runtimepath+=~/.my-vim-plugins/vim-autocomplpop
Vim のパッケージ機能について
ご参考の https://knowledge.sakura.ad.jp/23248/ に書かれている通りです。
上記の"先に結論"はこの方法で導入しました。
Vim のパッケージ機能を利用した場合、上記の"複数のファイルとディレクトリで構成されるプラグイン"で説明した runtimepath
の設定は必要ありません。パッケージ機能が自動で runtimepath
を追加してくれます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。