Emacs和Python
我最近开始学习Emacs。我完成了本教程,阅读了一些介绍性文章,到目前为止一切顺利。
现在,我想将其用于Python开发。据我了解,Emacs有两种单独的Python模式:python-mode.el,它是Python项目的一部分;和python.el,这是Emacs 22的一部分。
我阅读了所有可以找到的信息,但大多数信息似乎已经过时了,我仍然感到困惑。
问题:
- 他们有什么区别?
- 我应该安装和使用哪种模式?
- 是否还有其他Emacs插件对于Python开发至关重要?
相关链接:
- 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自己的符号解析和完成,ElDoc等联系在一起。我自己使用XEmacs,所以我不使用它,而且我听说人们抱怨它没有过去无法很好地运行,但是有可用的更新程序解决了某些问题(例如,在我们链接的emacswiki页面上),并且我们希望现在将它们集成到上游。如果我是GNU Emacs类的人,那么我将使用python.el直到发现特定原因不这样做。
据我所知,python-mode.el的最大单一问题是它不太了解三引号字符串。它将它们视为单引号,这意味着用三引号引起来的字符串中的单引号会引起语法高亮显示:它将认为字符串已在此处结束。我们可能还需要更改auto-mode-alist来为.py文件打开python-mode。我不记得是否仍然如此,但是我的init.el已经设置了auto-mode-alist很多年了。
至于其他插件,我认为"基本"没有。 XEmacs的func菜单有时很有用,它为我们提供了当前文件的一些功能/类浏览器菜单。我不记得GNU Emacs是否有类似的东西。我有一个用于reStructuredText编辑的rst模式,因为在某些项目中使用了这种模式。捆绑使用我们使用的任何VC(如果有)可能对我们有用,但是内置了对大多数其他文件的便捷下载的.el文件的支持。
这个站点描述了如何在Emacs中完成Python代码。
Ropemacs是使Rope在emacs中工作的一种方法。我都没有丰富的经验,但是值得研究。
考虑到我有几个都称为__init __。py
的开放缓冲区的次数,我认为uniquify库对于python开发至关重要。
鳞片还有助于提高生产率。