Twitterで”bpythonがいい”という書き込みを見たので試してみた。ついでに補完でpythonのプログラミングを楽にする方法を自分のためにメモ。
ところで補完ってのは一般の人に通じそうでない通じないIT用語の筆頭格だよね。
vimを使う場合
pydyctionというvimの拡張機能を使います。僕はここをみながらやりました。
ここからダウンロードして。下の設定をvimrcにいれるだけです。簡単。
" Pydictionを読み込む
if has("autocmd")
autocmd FileType python set complete+=k~/.pydiction/pydiction iskeyword+=.,(
endif
" has("autocmd")
" python supportが有効ならこれでいけるはず. Mac OSは駄目だった。
"autocmd FileType python set omnifunc=pythoncomplete#Complete
" Python tab
set tabstop=8
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
ついでだからタブの設定まわりも書いておきました。
これで次回以降ソースを書くときにCtrl+nもしくはCtrl+pを押すと以下のスクリーンショットのように候補がずらずらでてきます。
素のviしか知らない人にこれを見せると驚かれます。カラースキームで背景を黒にしていると、デフォルトの色設定が結構つらいかも。
インタラクティブシェルでの補完
pythonのインタラクティブシェルはなにかと便利なのですが、これもbpython(http://www.noiseforfree.com/bpython/)というツールを使うと補完できます。UbuntuやFedoraなどのメジャーなOSを使っている人はapt,yumでインストールできるっぽいです。僕はMacなのでmacportsを使ってインストールします。
既にmacportsがはいってるなら一行だけ。
$ sudo port install py26-bpython
久しぶりだったので、ついでに他のパッケージも更新しておきましたが。
$ sudo port selfupdate # macportsそのものとデータベースを最新に
$ port outdated # 古いパッケージリストアップ
$ port upgrade installed # ついでだから他のパッケージを更新
で、あとは/opt/local/bin/bpythonと起動すると、シンタックスを色分けしたpythonのインタラクティブシェルが起動します。こんな感じ。
importした自作のプログラムの関数や変数も当然補完されます。ピリオドを打つと補完候補を表示するあたりはVisual Studioなどの一般的なIDEと一緒でなじみやすいです。それからCTRL+Rで前の行を消して戻れるところが癖になりそう。
そのほか具体例はこちら(http://www.noiseforfree.com/bpython/screenshots.html)
うん、bpythonよくできてるね!