python.el shell和执行缓冲区

say*_*yth 4 python emacs mode

我正在使用来自fgallina python.el github的python.el有很多功能,但我不知道如何使用它们.

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

Python shell集成和shell完成?我是否需要在标准加载路径旁边添加一些内容并为此需要声明?

Imenu支持这也不适合我.编辑我尝试将此添加到我的emacs,但这没有奏效.

add-hook 'python-mode-hook 'imenu-add-menubar-index)
Run Code Online (Sandbox Code Playgroud)

我在ubuntu上使用emacs 23

fge*_*ler 6

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

如果你想了解更多有关完成的信息,可以在python.el的开头找到更多文档:

引用:

Shell完成:点击选项卡将尝试完成当前单词.Shell完成的实现方式是,如果您将其更改python-shell-interpreter为任何其他(例如IPython),则应该很容易集成另一种方式来计算完成.您只需要指定自定义 python-shell-completion-setup-codepython-shell-completion-string-code.

引用:

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

骷髅:提供6个骷髅,用于简单插入class,def,for,if,try和while.这些骨架与dabbrev集成在一起.如果您已dabbrev-mode激活并 python-skeleton-autoinsert设置为t,那么每当您键入任何已定义的名称并点击SPC时,它们将自动展开.

只有(require 'python)在配置文件中,imenu条目才会显示给我而不添加挂钩.