Vim というエディタのプラグイン管理に関する話しです。
1. まえがき
Vim では、今までいろいろなプラグイン管理ツールが開発されてきており、新しいものほど高機能になってきています。しかし、高機能過ぎて中で何をやっているのか分からない部分が増え、操作を間違うとわけが分からないことになります。 「久しぶりにプラグインでも更新してみるか」という時に、警告やらエラーやらが発生してしまうと本当に困ってしまうのです。 また、この手のツールは、Vim の設定ファイルにたくさんの設定を書いたりするのですが、時間が経つと書いてある意味を記憶しておくことが難しくなってきます。
そこで、pathogen.vim です。何年か前までは多くのユーザーに使われていたようですが、今 インターネットで検索しても、新しい情報がほとんど出てきません。しかし、その割には新し目の vim プラグインのインストールページを見ると、いまだに 「pathogen.vim でインストールする場合」が載っていたりしますので、現在でも一定の需要はあるということなのでしょう。そしてこのツールの利点は、なんといっても 単純 なところです。それだけでも試してみる価値があります。ですので、ライトなユーザーにとって pathogen.vim は気楽で丁度よいと思うのです。ということで、今回 pathogen.vim を紹介することにしました。
2. pathogen.vim の導入方法
pathogen.vim
ファイルをローカルに配置します。$ cd ~/.vim/autoload/ $ wget https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
~/.vimrc
ファイルに以下を記述します。execute pathogen#infect() filetype plugin indent on syntax on
※ pathogen.vim自身も vim のプラグインです。
3. プラグインの導入方法
例として、Nerdtree を導入します。
~/.vim/bundle/
に移動します。このディレクトリがなければ作成します。$ mkdir ~/.vim/bundle/ $ cd ~/.vim/bundle/
- Nerdtree をローカルに配置します。
$ git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
- ヘルプの情報を取り込みます。Vim を起動して、以下を実行します。
:helptags ~/.vim/bundle/nerdtree/doc/
※ 詳しくは以下を参照して下さい。
4. Tips
1. 他の環境で同じプラグインを使用する
インストールしたプラグインの情報を、シェルスクリプトに書いておくと、別の環境で同じプラグインを導入するのがラクになります。install.sh
のような名前を付けて、~/.vim/bundle/
に置いておけばよいでしょう。ここで行っているのは、pathogen.vim とは関係ないただの git
コマンドですので非常に分かりやすいです。
例
#!/bin/sh
git clone https://github.com/lilydjwg/colorizer
git clone https://github.com/mattn/emmet-vim
git clone https://github.com/othree/html5.vim.git
git clone https://github.com/Shougo/neomru.vim.git
git clone https://github.com/scrooloose/nerdtree.git
別の環境の ~/.vim/bundle/
で、このシェルスクリプトを実行すれば同じプラグインが導入できます。
2. プラグインを更新する
プラグインをまとめて更新するために、各プラグインのディレクトリで git pull
を実行するシェルスクリプトを作っておくとラクです。update.sh
のような名前を付けて、~/.vim/bundle/
に置いておけばよいでしょう。以下の例を見て分かる通り、ここでも pathogen.vim とは直接関係のない内容であり単純明快です。
例
#!/bin/sh
for d in `ls -d */`; do
printf "%-30s" $d
cd $d
git pull
cd ..
done
~/.vim/bundle/
で、このファイルを実行すれば、全てのプラグインを更新することができます。
5. まとめ
pathogen.vim は、Vim でどんなファイルを開いても、全てのプラグインを読み込んでしまうのがよくないのだという情報を見たことがあるのですが、Vim の起動や動作が実際に遅くないのであれば、問題にはなりませんし、手軽にプラグインを管理できるというメリットが大きいですので、気楽さを求める方には丁度よいのではないでしょうか?
6. 参考
- tpope/vim-pathogen: pathogen.vim: manage your runtimepath – GitHub
- pathogen.vim – vim.org
- How to use Tim Pope’s Pathogen.