我在OSX上使用Emacs 24.4.1(与Homebrew一起安装),内置python.el
,Python 3(也与Homebrew一起安装),以及IPython 2.3.0。我.emacs
里有这个:
(setq
python-shell-interpreter "/usr/local/bin/ipython3"
python-shell-prompt-regexp "In \[[0-9]+\]: "
python-shell-prompt-output-regexp "Out\[[0-9]+\]: "
python-shell-completion-setup-code
"from IPython.core.completerlib import module_completion"
python-shell-completion-module-string-code
"';'.join(module_completion('''%s'''))n"
python-shell-completion-string-code
"';'.join(get_ipython().Completer.all_completions('''%s'''))n")
当我调用 M-x run-python
时,一切都可以正常工作,除了一件事:模块名称的<tab>
完成在 REPL 中不起作用(它在*Messages*
缓冲区中说"不匹配")。我很确定它适用于我最近升级的 Emacs 24.3,但我不是 100% 确定。任何人都知道可能导致此问题的原因,或者我如何尝试调试它?
您可能想尝试删除上面的大多数设置,因为Emacs-24.4应该几乎开箱即用地支持IPython。