2011-07-29 49 views
4

我正在使用来自fgallina的python.el python.el github有一长串功能,但我不知道如何使用它们。python.el shell并执行缓冲区

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

Python shell集成和shell完成?我是否需要在标准加载路径旁添加一些内容,并且需要语句?

Imenu支持这也不是为我显示。 编辑我试图将此添加到我的emacs,但没有奏效。

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

我使用emacs 23 ubuntu上

回答

6

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

有一个在python.el的开头有一些更多的文件,如果你想知道更多关于完成:

报价:

壳牌完成:打标签会尽量完成当前 字。如果你将python-shell-interpreter更改为任何其他(例如IPython的 ),则可以通过另一种方式来计算 完成。您只需指定您的自定义 python-shell-completion-setup-codepython-shell-completion-string-code

Quote:

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

骨架:提供6个骨架用于简单插入类, def,for,if,try and while。这些骨架与 dabbrev集成在一起。如果您已激活dabbrev-mode并且 将python-skeleton-autoinsert设置为t,那么无论您何时键入 其中任何一个定义的名称和命中SPC,它们将自动展开为 。

imenu条目显示了我没有添加挂钩,只是(require 'python)在配置文件中。