Python 開発で便利な jedi-vim いれてみたらたしかにライフチェンジングだった

+python コンパイルがだるそうだった

Big Sky :: python 補完のVimプラグイン「jedi-vim」がスゲー をみてからきになってはいたけどだらだらしててやってなかった。./configure, make, make install さえだるい*1。けど、誰かの記事でまた「vim + python のとき jedi はすごい!」とあったので再度やってみた。ら、案外簡単にできた。

vim を +python にする

ここではいるのは huge 版らしい。vim にもいろいろパッケージングとして種類があって、vi に近い vim-tiny とかもある。huge っていうくらいだから、まあいろいろ機能に対応している。Packages/vim – VineSeed

Mac

この記事を参考にした Mac で Vim とクリップボードを共有 - Study08.net 対シンバシ殲滅用人型機動兵器

というのはよかったけど、なんだか今は brew だと vim の Formula が新しく追加されてて楽だったのでそれをつかうことにした。

brew install vim

Ubuntu

とりあえずてきとうにシステムデフォルトではなくて再度 apt-get してみたら +python してあった(たしか)。なので、それを利用する。

sudo apt-get install vim

PATH と alias の設定

普段いつも vi で起動していたけどなんか標準の vim っぽい挙動をしていたので確かめたら、PATH と vi がさしている alias が違っていた。

PATH の設定

いわずがもな。 標準だと /usr/bin/vim が参照されるので、 /usr/local/bin/vim をさすように環境変数を設定。

export PATH=/usr/local/bin:/usr/bin:$PATH

alias の設定

いつも vi で起動していたので、それは /usr/bin/vi -> /usr/bin/vim へのシンボリックリンクだったので、はりかえ

sudo rm /usr/local/bin/vi
ln -s /usr/local/bin/vim /usr/local/bin/vi

virtualenv の設定

これで使えるようになったのはいいけど、明らかに site-package の参照がおかしい。補完がきかない。いつも Python 開発といったら virtualenv が必須なので、これはこまる。と思ったら、@heavenshell さんの記事がさくっとみつかった。jedi.vim で virtualenv を使ってる場合の補完 - Memo ということで virtualenv.vim をいれて解決。

だいたいできたけど、デフォルトの補完がうっとおしい

import os
os. とかってタイプするとデフォルトの挙動だと close とかてきとうな補完を最初にサジェストされてうっとおしかったので jedi-vim の設定 - Memo を参考に以下を設定した。

let g:jedi#popup_on_dot = 0

あとはどこかでみたその記事で Quickrun で r がバッティングして(jedi-vimだとリファクタリングっぽいなにかをしようとする)だるいのでてきとうに回避した

let g:jedi#rename_command = "<leader>??????"

まあ

たしかにライフチェンジングだった。コストに見合うだけのものはあるきがする。

*1:たぶん configureオプションを触るのが面倒という話で、+にするものはいいけどなにがないと-になったりするのかわからないと結局何度もコンパイルしたりしそうで、それがだるい