牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Emacs23 で python-mode の『Python* buffer』 での ipython のTAB補完がうまくいかなかったけど解決した

Emacs23 に python-mode.el と ipython.el を入れて使ってみたら補完がうまくいかなかったからメモ。
(環境:MacOSX10.6, python26, ipython0.10)


TAB 押すと補完されるはずが「Can't find completion for hogehoge」とか挙動がおかしいので、グーグル先生に訊いてみたら以下サイトに解答らしきものがあった。

これを init.el に書けばよいらしい。

(setq ipython-completion-command-string
"print(';'.join(__IP.Completer.all_completions('%s')))\n")

ちなみに自分のこんな感じ

(add-hook 'python-mode-hook
          '(lambda ()
             ;; MacPorts で ipython-2.6 をインストール
             (setq ipython-command "/opt/local/bin/ipython-2.6")
             ;; (setq py-python-command-args '("-cl" "-i" "-colors" "Linux"))
             (setq py-python-command-args '("-i" "-colors" "Linux"))
             (setq ipython-completion-command-string
                   "print(';'.join(__IP.Completer.all_completions('%s')))\n")
             (require 'ipython)
             ))