Emacs和Python
我最近开始学习Emacs 。 我阅读了教程,阅读了一些介绍性的文章,迄今为止都非常棒。
现在我想用它来进行Python开发。 据我所知,Emacs有两种独立的Python模式:python-mode.el,它是Python项目的一部分; 和python.el,它是Emacs 22的一部分。
我阅读了所有可以find的信息,但大部分信息看起来已经过时了,而且我还是感到困惑。
问题:
- 他们有什么不同?
- 我应该安装和使用哪种模式?
- 是否还有其他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也有助于生产力。