Table of Contents
1 jediパッケージとは
emacs上でpythonのコード補完するemacsパッケージです。Pythonのserverスクリプト(jediepcserver.py)を使います。本ページはauto-completeの設定を済ませた状態で実行しています。
1.1 他のemacsコード補完パッケージについて
ac-pythonはpython-mode.elでは動作しないようです(そもそもpython.elを使うことを前提としている)。pycompleteもシンボル解決ができない問題が発生します。2015年9月現在、emacs上で動作するのはjediパッケージだけのようです。
2 jediパッケージのインストール
M-x package-list-packages経由でインストールします。
jedi 0.2.5 installed a Python auto-completion for Emacs
3 virtualenvのインストール
python-pipでvirtualenvをインストールします。
$ sudo pip install virtualenv
4 jediepcserverのインストール
jediepcserver.pyをpythonライブラリにインストールします。jedi:install-serverは使わない方が良いかもしれません。
$ sudo pip install --upgrade ~/.emacs.d/elpa/jedi-core-0.2.5
5 .emacsの設定
jediをロードし、python-modeのフックスクリプトでjediを呼び出します。
(require 'jedi) (add-hook 'python-mode-hook '(lambda() (jedi:ac-setup) (setq jedi:complete-on-dot t) (local-set-key (kbd "M-TAB") 'jedi:complete)))
6 実行例
適時M-TABを押すことで補完されます。
ただし、補完できないライブラリもあったりします(jedi公式ページの例にあるos.path.existsが見つけられない)。別のマシンだとできたりできなかったりするので環境依存の問題でしょうか。