Vim で &path に gems のパスを追加する
stargate.vim ではバッファの &path を使用してインクルードするファイルを参照しています。
Ruby で stargate.vim を使用する際に gems からも参照して欲しかったので &path に gems のパスを追加するようにしてみました。
function! s:ruby() if has("ruby") ruby VIM::command("setlocal path=" + Gem::Specification.map{|s|s.gem_dir + "/lib"}.sort.uniq.join(",")) else let gems_path = "C:/Ruby/lib/ruby/gems/2.0.0/gems/*/lib/" let &l:path=substitute(substitute(glob(gems_path), "\n", ',', "g"), '\\', '/', "g") endif endfunction augroup vimrc autocmd! autocmd FileType ruby call s:ruby() augroup END
if_ruby が使える場合は ruby を使用して、使えない場合は Vim script から取得しています。
gems のパスは各環境で適当に設定して下さい。
stargate.vim 以外にも &path を参照しているプラグイン(neocomplete.vim とか)でも流用できると思います。