Repo管理しているpluginをruntimepathに追加する

Intro

github, bitbucketで管理されてるPluginを楽にアップデート/追加/削除する。(vim的な意味で)
頻繁に更新されるので最新同期して、とりあえずコピペしてPluginを更新するとファイルの追加削除があった時に、いらないファイルが残って困りそうなので、Cloneしたディレクトリをruntimepathに追加する。
(Repoのclone方法は、Winならばtortoisehgや、tortoisegitとかで簡単にできる、RepoのCloneについては説明を省略)

Contents

下記のような、ディレクトリ階層を作成する。

Source(vimrc)

簡単に書くと、
1.Plugin毎のディレクトリを指定する。
2.ディレクトリが存在しない場合、runtimepathに追加しない
3.ディレクトリが存在しない場合、Pluginの設定は読み込まない

" runtimepathに追加して、pluginを追加する
" ↓RepoをCloneしているディレクトリを指定
let $PLUGIN_DIR = "D:/works_other/vim_plugin"
let $L9  = expand($PLUGIN_DIR) . "/ns9tks_vim-l9"
let $FUF = expand($PLUGIN_DIR) . "/ns9tks_vim-fuzzyfinder"
" let $NEO = expand($PLUGIN_DIR) . "/shougo_neocomplcache"
" ↑コメントアウトしておけば、isdirectoryのチェックで偽になるので、Pluginは読み込まれない
let $FIR = expand($PLUGIN_DIR) . "/shougo_vimfiler"

" l9
if isdirectory($L9) " ←ディレクトリが見つからない場合、runtimepathに追加されない。
	set runtimepath+=$L9
endif

" FuzzyFinder
if isdirectory($FUF)
	set runtimepath+=$FUF
endi

...省略(↑のような記述を繰り返す)

" vimrcの好きな所に、Plugin毎の設定を書く
" L9 Library
if isdirectory($L9)
	" No Settings
endif

" FuzzyFinder
if isdirectory($FUF)
	let g:fuf_infoFile = expand($LOAD) . "fuf_file.txt"
	let g:fuf_modesDisable = ['']
	let g:fuf_file_exclude = '\v\~$|\.(o|exe|bak|swp)$|(^|[/\\])\.(svn|hg|git|bzr)($|[/\\])'
endif

...省略(↑のような記述を繰り返す)

Comment

  • 目的は達成できた・・・はず。

(気まぐれでfuf.vimをコピペで更新したらL9が必要といわれて焦ったので設定してみた。)