vim+pythonでEclipseのような自動補完を実現する

今までvimでpythonの補完はpydictionとneocomplcacheを使っていました(1日くらい)
各所でpydictionが有名なので結構いいのかと思ったら重すぎてやばかった
pythonのファイルを開こうなら5秒くらい辞書ファイルの読み込みで止まってしまう。今まで補完といえばIDEのeclipseしか知らない超ゆとりの私は驚いて即neocomplcacheのキャッシュからcomplete-dictを消した

ちなみにneocomplcacheの辞書ファイルのキャッシュは

~/.neocon/dictionary_cache/python

とかにあるのでこれを消さないと元の辞書ファイルを消しても一生保管し続ける。焦る。


IDEのような素晴らしいオムニ補完をするpluginはないのかと探したら、あった。

だ

pythoncompleteはpythonのオムニ補完では常識?なのかな
標準ライブラリは全部自動補完してくれるっぽい

pysmellは自動補完したいライブラリなどを指定して自動補完用のファイルを作成すれば補完してくれる

,vimrcに

autocmd FileType python set omnifunc=pythoncomplete#Complete

って書くとpythoncompleteの自動補完が効く!便利!!

autocmd FileType python set omnifunc=pysmell#Complete

って書くとpysmellの自動補完が効く!便利!!

…どっちの補完も候補に出してよ!!!omnifuncって複数設定はできないの?どういう事なの?誰か教えてください;;

二つのプラグインが指定できないっぽそうなので苦肉の策としてpythoncomplete.vimとpysmell.vimをひとつのvimファイルに収めた。。初めていじったvimScriptがカオス過ぎる…でも便利!

datetimeのメソッドを自動補完

djangoのメソッドを自動補完



pysmell側でdjangoのライブラリファイルを指定してあげればdjangoの開発がサクサク!!
Eclipseで開発してるのかの如くなめらかな補完!(pysmellで複数ライブラリを補完しようとすると重くなるので注意)
ファイルを開くときもディクショナリ補完のように待たされることがない!サクサク!
ディクショナリ補完(笑)
難点は若干pysmellの設定が面倒くさい点。
あと文字をdeleteするときちょっと遅延が発生するのが気になる…これだけはどうにもならんかなー