VimでPython3の補完
まず、Ubuntu14.04のデフォルトVimはPython3をサポートしていない。以下を実行すると:
vim --version | grep python
こう表示される:
-python3
解決方法は二つ。自分でコンパイルしてパラメータを追加するか、既存のPPAを使うか:
sudo apt-add-repository ppa:pi-rho/dev
sudo apt-get update
sudo apt-get install vim
インストールが終わったら、さっきのコマンドを実行してpython3の前がプラスになっているか確認するのを忘れずに。
最新版のjediはPython3をサポートしているので、jediに依存した補完は実現可能だ。
まずjediをインストールする必要がある。インストール方法は公式説明を見てほしい。virtualenvを使うかどうかは各自の需要次第で、私はそのままシステムに入れた。
sudo pip3 install jedi
次に自分のvimにjedi-vimとneocompleteの二つのプラグインをインストールする。vimの設定ではneocompleteをメインにして、jedi-vimを組み合わせる:
元の設定はneocompleteのConfiguration Examplesをそのままコピペすればいいが、いくつか注意点がある:
これを:
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
こう置き換える:
autocmd FileType python setlocal omnifunc=jedi#completions
それから以下の行を追加する。すでにあれば追加しなくていい:
let g:neocomplete#enable_auto_select = 0
let g:jedi#popup_select_first=0
set completeopt=longest,menuone
let g:jedi#auto_vim_configuration = 0
let g:jedi#popup_on_dot = 0
if !exists('g:neocomplete#force_omni_input_patterns')
let g:neocomplete#force_omni_input_patterns = {}
endif
let g:neocomplete#force_omni_input_patterns.python = '\%([^. \t]\.\|^\s*@\)\w*'
一番重要なのは、jedi-vimとPython-modeというプラグインパッケージが衝突すること。後者を無効にして、後者の中で必要なプラグインを抜き出して個別にインストールするのがおすすめ。
起動時にこんなエラーが出たら:

Vimのluaサポート呼び出しに問題があるということ。Vimに入って以下を実行:
:lua print('KThentai')
結果はこうなる:

検索してみるとファイルlibluajit-5.1.so.2の欠落だと分かった。いつ欠落したのかは私も知らない。とにかく入れ直せばいい:
sudo apt-get install libluajit-5.1-2
これでvimでのPython3の補完が正常に動くようになった。今のところPyQt5で一部の文が補完されない以外は全部正常だ。

コメントは中国語の本家サイトで受け付けています。このミラーは閲覧専用です。