当前位置:  开发笔记 > 编程语言 > 正文

Emacs和Python

如何解决《Emacs和Python》经验,为你挑选了3个好方法。

我最近开始学习Emacs.我阅读了教程,阅读了一些介绍性文章,到目前为止一切顺利.

现在我想用它来进行Python开发.根据我的理解,Emacs有两种不同的Python模式:python-mode.el,它是Python项目的一部分; 和python.el,它是Emacs 22的一部分.

我阅读了所有可以找到的信息,但大部分内容似乎已经过时了,我仍然感到困惑.

问题:

    他们的区别是什么?

    我应该安装和使用哪种模式?

    是否有其他对Python开发至关重要的Emacs附加组件?

相关链接:

EmacsEditor @ wiki.python.org

PythonMode @ emacswiki.org

Thomas Woute.. 20

如果您使用的是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已经设置了自动模式alist多年了.

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



1> Thomas Woute..:

如果您使用的是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已经设置了自动模式alist多年了.

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


作为GNU emacs 22用户(在Windows上).我是第二个.python-mode.el并没有真正为你买任何东西(虽然它确实有用).使用python-mode.el的唯一真正原因可能是让ipython在emacs中工作,但是,不幸的是,这似乎在windows中不能正常工作.在unix上,YMMV ....

2> James Sulak..:

该站点描述了如何在Emacs中完成Python代码. Ropemacs是让Rope在emacs中工作的一种方法.我也没有丰富的经验,但他们值得研究.



3> seb..:

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

Pyflakes也有助于提高生产力.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有