python.el shell和执行缓冲区

时间:2011-07-29 01:54:54

标签: python emacs mode

我正在使用fgallina python.el github中的python.el。有一长串功能,但我不知道如何使用它们。

编辑:发现这种模式工作,但没有自动打开解释器去了那里的信息。如何发送/加载我当前的python缓冲区进行评估?我正在尝试使用C-c C-c,但我没有得到任何输出。

Python shell集成和shell完成?我是否需要在标准的load-path旁边添加一些内容并为此要求语句?

Imenu支持这也不适合我。 编辑我尝试将其添加到我的emacs但是没有用。

add-hook 'python-mode-hook 'imenu-add-menubar-index)

我在ubuntu上使用emacs 23

1 个答案:

答案 0 :(得分:6)

关于第一个问题:通常可以使用C-c C-l加载缓冲区/文件。 (刚为python.el测试了这个,它也适用于这个)这将把文件发送到下级python进程 - 所以你应该打开* Python *缓冲区来查看结果。 * Python *缓冲区也是常规的python解释器/ shell / REPL。 C-M-x绑定到python-send-defun,它向解释过程发送方法/函数定义。对于其他绑定,只需点击M-x describe-bindings,然后在打开的* Help *缓冲区窗口中查找“python-”(在“Major Mode Bindings”下)。

如果您想了解有关完成的更多信息,请在python.el的开头提供更多文档:

引用:

外壳完成:点击选项卡将尝试完成当前 字。壳牌完成的实施方式如果您 将python-shell-interpreter更改为任何其他(例如 IPython)它应该很容易集成另一种计算方式 落成。您只需指定自定义 python-shell-completion-setup-codepython-shell-completion-string-code

引用:

符号完成:您可以在点完成符号。它用 shell在后台完成,所以你应该运行 python-shell-send-buffer不时获得更好的结果。

骷髅:为简单插入类提供了6个骷髅, def,for,if,try和while。这些骷髅与之融为一体 dabbrev。如果你已激活dabbrev-mode并且 python-skeleton-autoinsert设置为t,然后输入 任何定义和命中SPC的名称,它们将是 自动扩展。

imenu条目在没有添加钩子的情况下显示给我,只在配置文件中添加(require 'python)