如何在Python中使用Emacs

2024-05-14 01:06:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是emacs新手,我想使用emacs进行python开发。我正在使用Ubuntu9.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模式吗?当我按M-Tab时,代码完成不起作用,而窗口管理器不起作用。我试过Esc标签,但上面写着“不匹配”。如何启用代码完成?

之后,我安装了ropemacs

sudo aptitude install python-ropemacs

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

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

然后,当我单击M-/(Alt-/)时,当我从菜单Rope->;代码帮助中单击时,它将打开一个用于选择根项目文件夹的文件对话框。我选择当前文件夹,其中有一些python代码。当我从菜单中再次尝试代码辅助时,它显示 完成x:“什么都没有,只有空的一套。”。如何使emacs python代码完成工作?

然后我下载了anything.el,任何配置,任何匹配插件到~/.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 anything”,结果没找到匹配项(我猜可能是C-C a(先是control-a,然后是e)的组合起作用,它说它没有定义)。你能给我这样的傻瓜解释一下python的代码完成过程吗。谢谢。 编辑:我能用链接emacs和python一起工作。谢谢大家的回答


Tags: 文件代码gnu文件夹菜单模式requireglobal
3条回答

我不确定您是否需要做任何花哨的事情来让Python开发工作。在gNewSense deltah(Ubuntu 8.04的fork)上,我所做的就是编辑一个.py文件,第一行是:

#!/usr/bin/python

然后Emacs将其计算出来,并为您提供python模式选项。我不需要安装任何超过Emacs的东西。

然后,这可能没有帮助,因为gNewSense在默认情况下预安装Emacs。我得在我的一个香草Ubuntu上做。

我想你一定想安装这个软件包!ropemacs变体似乎只用于重构,pymacs允许Python作为Emacs扩展语言——这两种语言都不是标准支持所需要的。

我什么都没试过,我也没用rope(巨大的源代码树导致我的emacs挂起任何文件保存)。相反,我发现默认的完成方式对我来说已经足够好了。

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

(你必须解除绳索的作用。)

相关问题 更多 >