小编典典

Emacs和Python

python

我最近开始学习Emacs。我完成了本教程,阅读了一些入门文章,到目前为止一切顺利。

现在,我想将其用于Python开发。据我了解,Emacs有两种单独的Python模式:python-
mode.el,它是Python项目的一部分;和python.el,这是Emacs 22的一部分。

我阅读了所有可以找到的信息,但是大多数信息似乎已经过时了,我仍然感到困惑。

问题:

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

相关链接:


阅读 308

收藏
2021-01-20

共1个答案

小编典典

如果您使用的是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文件的支持。

2021-01-20