Emacs和Python

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

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

我阅读了所有可以find的信息,但大部分信息看起来已经过时了,而且我还是感到困惑。

问题:

  1. 他们有什么不同?
  2. 我应该安装和使用哪种模式?
  3. 是否还有其他Emacs附件是Python开发必不可less的?

相关链接:

  • EmacsEditor @ wiki.python.org
  • PythonMode @ emacswiki.org

如果您正在使用GNU Emacs 21或之前版本或者XEmacs,请使用python-mode.el。 GNU Emacs 22 python.el将无法正常工作。 在GNU Emacs 22上,python.el可以工作,并可以更好地与GNU Emacs自己的符号parsing和完成,ElDoc等结合。我自己使用XEmacs,所以我不使用它,而且我听说有人抱怨说它没有过去的工作非常好,但有更新可以解决一些问题(例如,在您链接的emacswiki页面上),而且您希望现在有些已经集成到上游。 如果我是GNU Emacs那种,我会使用python.el,直到我find具体的理由不。

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

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

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

考虑到我有几个打开的缓冲区,所有被称为__init__.py ,我认为python开发必不可less的独特库。

Pyflakes也有助于生产力。