2008-10-01 47 views
34

我最近开始学习Emacs。我阅读了教程,阅读了一些介绍性文章,迄今为止都非常棒。Emacs和Python

现在我想用它来进行Python开发。据我所知,Emacs有两种独立的Python模式:python-mode.el,它是Python项目的一部分;和python.el,它是Emacs 22的一部分。

我阅读了所有我能找到的信息,但大部分信息看起来相当过时,我仍然感到困惑。

的问题:

  1. 他们的区别是什么?
  2. 我应该安装和使用哪种模式?
  3. 是否还有其他对于Python开发至关重要的Emacs附加组件?

相关链接:

+0

我使用了Emacs 2年,但在Emacs中读写Python仍然是我的噩梦。绳索,绳索,pymacs的复杂配置让我疯狂。所以,我个人推荐Eclipse + pydev。 – Wilbeibi 2013-03-11 03:59:19

回答

20

如果您正在使用GNU Emacs的21或之前,或XEmacs的,使用蟒蛇 - mode.el。 GNU Emacs 22 python.el将无法工作。在GNU Emacs 22上,python.el可以工作,并且与GNU Emacs自己的符号解析和完成,ElDoc等更好地结合。我自己使用XEmacs,所以我不使用它,并且我听到人们抱怨说它没有过去的工作非常好,但有更新可以解决一些问题(例如,在您链接的emacswiki页面上),并且您希望现在有些内容可以集成到上游。如果我是GNU Emacs类型的话,我会使用python.el,直到找到没有的具体原因。

python-mode.el单个最大的问题,据我所知,它不太理解三引号字符串。它将它们视为单引号,这意味着三引号字符串中的单引号会抛出语法突出显示:它会认为字符串已经结束。您可能还需要更改自动模式alist以打开.py文件的python模式;我不记得是否仍然如此,但我的init.el多年来一直在设置auto-mode-alist。

至于其他插件,没有我会认为'必不可少的'。 XEmacs的func菜单有时很有用,它为您提供当前文件的一些功能/类别浏览器菜单。我不记得GNU Emacs是否有类似的东西。我有一个用于reStructuredText编辑的第一模式,就像在某些项目中使用的那样。绑定到任何你使用的VC,如果有的话,可能对你有用,但内置的支持大多数和容易下载的.el文件的其他人。

+2

作为GNU emacs 22用户(在Windows上)。我第二个这个。 python-mode.el并不真正为你购买任何东西(尽管它确实有效)。使用python-mode.el的唯一真正原因可能是让ipython在emacs中工作,但是,不幸的是,这在windows中似乎不起作用。关于unix,YMMV .... – 2008-10-01 14:18:21

8

This site介绍了如何在Emacs中完成Python代码完成。 Ropemacs是让绳子在emacs中工作的一种方法。我还没有丰富的经验,但他们值得研究。

+1

我使用ropemacs(虽然不是最新版本),但根据说明安装和使用相当容易。 – 2008-11-27 16:57:54

7

鉴于我有几个打开缓冲区的次数都被调用__init__.py,我认为uniquify库是python开发必不可少的。

Pyflakes也有助于提高生产力。