<p>对于Emacs24,我使用默认值Python.el(不是Python-模式.el),开始于<a href="https://github.com/fgallina/python.el" rel="nofollow noreferrer">on github</a>。在</p>
<ol>
<li><p>当我用<code>python-shell-switch-to-shell</code>或<code>C-c C-p</code>(Python菜单->启动解释器)启动ipython时,我得到ipython。选项卡完成工作。</p></li>
<li><p>ipython是默认的python解释器(请参阅我的init文件)</p></li>
<li><p>当我启动一个ipythonshell时,我可以向它发送一个文件或选定的区域(菜单中提供命令),并且它得到正确的计算。</p></li>
</ol>
<p>另外,在pythonshell中,可以使用<code>jedi:setup</code>启动jedi自动完成。它提供了很好的弹出窗口和参数help和doc,您可以选择在点(而不是在3个字符后)触发它。见<a href="https://stackoverflow.com/questions/9777861/ipython-auto-completion-emacs24-doesnt-work">IPython auto-completion emacs24 doesn't work</a>。它可以看作是ipython的补充而不是替代品。在</p>
<p>遵循我的配置:</p>
<pre><code>;; trying ipython tab completion: that works :)
(setq
python-shell-interpreter "ipython"
python-shell-interpreter-args ""
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"
)
</code></pre>
<p>取自<a href="http://www.emacswiki.org/emacs/PythonProgrammingInEmacs#toc5" rel="nofollow noreferrer">http://www.emacswiki.org/emacs/PythonProgrammingInEmacs#toc5</a></p>
<p>希望这有帮助。在</p>