Home Articles

如何在Python中使用Emacs

Asked
Viewed 179 times
14

我是emacs的新手,我想使用emacs进行python开发 . 我正在使用Ubuntu 9.10 . 我很沮丧让emacs使用python . 我使用GNU Emacs 23.1.50.1(x86_64-pc-linux-gnu,GTK版本2.18.0) .

这就是我做的 . *

Emacs有python模式,但令人困惑的是有两种类型的模式,一种是python-mode.el,另一种是python.el . 我使用emacs 23所以我的是python.el(我想) . 我也需要python-mode吗?当我按M-Tab而不是窗口管理器工作时,代码完成不起作用 . 我试过Esc-Tab,但它说“不匹配” . 如何启用代码完成?

之后我安装了ropemacs

sudo aptitude install python-ropemacs

然后我在〜/ .emacs创建了.emacs文件,并在.emacs文件中添加了以下内容

(require 'pymacs)   
(pymacs-load "ropemacs" "rope-")   
(setq ropemacs-enable-autoimport t)

然后,当我点击M- /(Alt- /)时,当我从菜单中点击时它不起作用Rope-> Code help它会打开一个文件对话框来选择根项目文件夹 . 我选择当前文件夹,其中有一些python代码 . 当我再次尝试代码辅助菜单时,它说“完成x:”只有空集 . 如何使emacs python代码完成工作?

然后我将anything.el,anything-config,anything-match-plugin下载到〜/ .emacs.d文件夹然后我将以下行添加到.emacs文件中

(require 'anything-config)   
(require 'anything-match-plugin)   
(global-set-key "\C-ca" 'anything)   
(global-set-key "\C-ce" 'anything-for-files)

猜猜它不起作用 . 我再次尝试“M-x任何东西”我得到了不匹配 . (我猜我可能是C-ca的组合(First control-a then e)可能会起作用,它表示它没有定义) . 你能解释一下python的代码完成情况吗(一步一步)给那些像我一样虚拟的人 . 谢谢 . 编辑:我能够使用链接将emacs与python一起使用 . 谢谢大家回答

4 Answers

  • 3

    Emacs在Ubuntu 9.10上为我开箱即用 .

    在尝试代码完成之前,您是否尝试过 C-c TAB (更新导入)?除非你这样做,否则我认为它不起作用 .

  • 2

    我没有尝试任何东西,而且我没有太多运气绳索(巨型源码树导致我的emacs挂起任何文件保存) . 相反,我发现默认完成对我的目的来说足够好 .

    默认的完成键绑定是 M-/ . 这运行dabbrev-expand,它将当前单词扩展为"the most recent, preceding word for which this is a prefix." It 's not perfect: It won' t解析类型,并且它不会搜索导入,但它在90%的情况下有效 .

    (你必须停用绳子 . )

  • 0

    我想你确实想要安装包 python-mode ! ropemacs变体似乎只用于重构,而pymacs允许Python作为Emacs扩展语言 - 这两者都不是标准支持所需要的 .

  • 0

    我不确定你是否必须做任何想要让Python开发工作的东西 . 在gNewSense deltah(Ubuntu 8.04的分支)上我所做的就是编辑.py文件,第一行是:

    #!/usr/bin/python

    然后Emacs只是想出来并给你python模式选项 . 除了Emacs之外,我没有必要安装任何东西 .

    然后,这可能没有用,因为gNewSense默认预安装Emacs . 我必须在我的一个Ubuntu安装上做这件事 .

Related