python.el shell 和执行缓冲区

标签 python emacs mode

我正在使用 fgallina 的 python.el python.el github功能列表很长,但我不知道如何使用它们。

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

Python shell 集成和 shell 补全?我是否需要在标准加载路径旁边添加一些内容并为此要求语句?

Imenu 支持也没有向我显示。 编辑我尝试将此添加到我的 emacs,但没有成功。

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

我在 ubuntu 上使用 emacs 23

最佳答案

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

如果你想了解更多补全,在python.el开头还有一些文档:

引用:

Shell 完成:点击 tab 将尝试完成当前 单词。 Shell 完成的实现方式是,如果您 将 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-mode 并且 python-skeleton-autoinsert 设置为 t,那么无论何时键入 任何已定义并命中 SPC 的名称,它们将是 自动展开。

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

关于python.el shell 和执行缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867834/

相关文章:

perl - 我可以将cperl模式与perl模式着色一起使用吗?

mysql - 如何在与另一个表连接之前找到一组数据的模式?

c++ - C++ 中的均值偏移实现

python Pandas "cannot set a row with mismatched columns"错误

python - 从 bash 脚本重定向时,比较变量与字符串 python 不起作用

git - 如何解释这个 Emacs magit 帮助屏幕?

internet-explorer - Google Analytics(分析)是否在IE中使用浏览器模式或文档模式?

python - 类型错误:init_animals() 采用 1 个位置参数,但给出了 2 个

python - 在 Python 中使用 subprocess.Popen 将 shell 命令输出重定向到文件不起作用

emacs - 使用 emacs lisp 以编程方式设置缓冲区的主要模式