VimのコンパイルとJedi-Vimの設定と第二回Sapporovimのお礼
はじめに
Vimのコンパイル(オプション指定をメモ)とjedi-vimではまったところをメモしておきます.
というのもhomebrewやバイナリ配布のVimではpyenvにあるpythonパスを読んでくれないためにjedi-vimがうまく動いてくれなかったからです.
そこで今回は解決策の一つとしてらぁさんが作っているvimenv(https://github.com/raa0121/vimenv)を使ってvim7.4を導入して,そのときにビルドすることで~/pyenv/shims以下を呼ぶようにします. そのあとにjediのインストールを行なって補完なども効くようにするというものです.
何度かこの方法を使う機会がありました.そのたびに,コマンド履歴を参照して調べるのがツラいので今日こそメモしておきます.
あとここに書いてあることは第二回Sapporo.vimで@thincaさんと@raa0121さんに教えていただきましたのでここでお礼を述べさせていただきます.
ありがとうございました!
vimenvの導入
vimenvは次のような手順で導入してください
git clone https://github.com/raa0121/vimenv.git ~/.vimenv
そのあとにこちらのブログで紹介されているvim-buildを導入します http://yasu-n1.hatenablog.com/entry/2013/10/03/201819
cd ~/.vimenv git clone https://github.com/yasu-n/vim-build.git ~/.vimenv/plugins/vim-build exec $SHELL -l
ここまで行ったら次にvimのビルドを開始します.ただし,pythonとタイプすると~/.pyenv/shims/pythonから呼べるようにしておいてください.
今回のvimはluajitもオプションに加えようと思います. 僕の場合,luajitは以下のようにluaenvで導入したものを使ってます.
luaenv install luajit-2.0.3 luaenv global 2.0.3 luaenv rehash
ではここからvimenvでvimをインストールしましょう.
vimenv install -- --with-compiledby=kuroneko --enable-pythoninterp --enable-perlinterp --enable-python3interp --enable-rubyinterp --with-lua-prefix=/path/to/.anyenv/envs/luaenv/versions/luajit-2.0.3 --enable-luainterp --with-luajit --enable-multibyte --enable-fail-if-missing
長いですがこんな感じです.
jediでつまづいたところ
jedi-vimはpythonを強力に補完したり,pydocをコード中に参照してくれるプラグインです.
ただし,jediはvim上で動くpythonpathから参照するため,pythonpathの設定をやらないでおくとコード補完がうまく効かない恐れがあります. 僕はしばらくの間これで悩んでいたのですがPYTHONPATHの設定を追加しておけば良かったようです.
たとえば,pyenvの3.4.1のライブラリをjediに参照させたいなら zshrcかbashrcの上で
export PYTHONPATH='/path/to/pyenv/versions/3.4.1/lib/python3.4/site-packages/'
の一文を追加するだけです
これでvimを起動して
:python import sys;print(sys.path)
で今追加したPATHが表示されることを確認してください.
第二回Sapporo.vimへのお礼
今日書いた内容は第二回Sapporo.vimのもくもく会に参加したときにやっていたことです. PYTHONPATHがvimからうまく参照できてないところについてはthincaさんに教えていただきました(quickrunで有名な方が向かいの席でびっくり...).vimenvの紹介と使い方はらぁさんに教えていただきました.
勉強会は2時間程度遅刻したこともあって(くろねこ界の最長記録樹立!),もくもくタイム自体は少なかったのですが,有益な時間を過させていただきました.
ただ,会場についてから,自宅同然にもくもくしてしまったので勿体ないことをしてました(ただ,もくもくするのは勿体ないという声が聞こえてきましたがその通りですね).もうちょっと他の人とも交流できればよかったのですが,タイミングが掴めませんでした(このあたりコミュニケーション能力の低さが顕著に表れてますね...).またお会いする機会があれば楽しみにしております.
この日は発表もあって,@supermomongaさんがEmacs上でVimと同等の動作をさせることができるEmacsEvilの発表(Evilの今後に期待),@Linda_ppさんがVim初心者向けに講座を開いてくれました(わかりやすかったです).
ありがとうございました.
まとめ
vimenvでvim導入してみた.
jediのはまったところをメモ
第二回Sapporo.vimの感想とお礼,