如何在Python中使用Emacs

时间:2009-12-07 21:09:36

标签: python emacs

我是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- /)时,当我从菜单中点击时它不起作用 - >代码辅助它打开一个文件对话框,用于选择根项目文件夹。我选择当前文件夹,其中有一些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 个答案:

答案 0 :(得分:3)

我没有尝试任何东西,而且我没有太多运气绳索(巨型源树导致我的emacs挂起任何文件保存)。相反,我发现默认完成功能足以满足我的目的。

默认完成键绑定为M-/。运行dabbrev-expand,将当前单词扩展为“这是前缀的最新前一个单词”。它并不完美:它不会解析类型,也不会搜索导入,但它可以在90%的情况下工作。

(你必须停用绳索。)

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

#!/usr/bin/python

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

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

答案 3 :(得分:0)

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

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