Vim を +python3 に切り替えて快適 jedi ライフ
Vim はこれまでずっと +python
できたのだが,最近書くのはもっぱら python3 だしということで
とうとう +python3
に切り替えることにした.
正確に言うと html.parser
みたいに python 3.x で構成の変わったモジュールの補完が効かなくて
悲しみが溜まったので思い切った,という方が正しい.
どうやら,というかこの辺のことをあまり把握してないんだけど,僕の環境で python2/3 両対応にしようとすると
バイナリには組み込まずに dynamic に外部見に行く感じの /dyn
でコンパイルされ,
その結果 :echo has(‘python’)
とかが 0
を返したりする+python3/dyn
であっても python3 を呼びに行けないことがある
などややややこしそうい場合があるようだ1.
そこでもう +python
は捨てることにする.幸い jedi-vim
はしばらく前からこれに対応しているので実害はない.現在入っているプラグインでは gf
を拡張する
vim-gf-python
が動かなくなるが,まあ許容範囲内.
一応 issue で 提案 はされてるみたいでもあるし.
というわけで早速ビルドだ.
$ cd ~/src/vim # clone してるとこ
$ ./configure --with-features=huge --enable-gui=gtk2 --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-fail-if-missing
で
$ make
$ sudo make install
でおっけー. $ vim --version
は -python
, +python3
ということになる.
jedi
の設定はそのまま引き継げばいいけど,あえて書きなおすにしても neocomplete
のヘルプにも書いてあったり色々するので適当に.
ひとつ気をつけるべきは, デフォルトの補完やさん pythoncomplete
(@vim/autoload/pythoncomplete.vim
) は python 2 のみ対応なので
この設定がどっかに残ってるとエラーがでてハマります.(注: vim が python3 無視してるんじゃなくて,python 3 用には python3complete
が用意されてる)
というわけでこれで python3 を楽しくエディットできますね.めでたしめでたし.
たのしいえでぃっと
-
僕の環境がこれだった.あと,Debian や Ubuntu では同時利用が(そのままでは)できないというようなこともあるらしい(vim-jp.org, vim-jp/issues). ↩