所以我有Emacs24.3,它附带了一个非常新的python.el
文件,提供了一个用于编辑的Python模式。
但我一直在读到有一个python-mode.el
在Launchpad上,比较一下这两个文件,我发现前者在4000行以下,而后者几乎是20000行。这表明后者的功能更加丰富。
我找不到任何关于它们的在线特性比较、文档,或者至少是关于每个特性的列表。是的,有语法突出显示和嵌入式解释器,但是在shell缓冲区中完成、在源文件缓冲区中完成、自动缩进、重新缩进等等呢
那么这些模式的重要特征是什么呢?(或者您推荐的Emacs的任何其他Python模式)请提供详细的答案。
在过去的几年中,我一直忙于开发python-mode.el,我的评论可能有失偏颇:建议Emacs初学者继续使用python.el。它的作者也值得赞扬一些有用的方法。
python-mode.el旨在提高编辑效率。它使通过python2和python3或IPython shell并行运行或执行变得容易。
它减少了提供定制命令所需的击键次数。它使编辑速度更快,通过语音、宏驱动输入等辅助编程
支持Python.el目前不知道的Python语言功能:
上下移动嵌套块
避免在点取表单时出现拼写错误,例如子句:
。。。
测试不同版本时无需自定义:
。。。
py-expression
,py-minor-expression
py-execute-line
和一大堆要获得概述,请查看菜单。目录“doc”列出了命令。
随着代码质量的提高:比较两种模式的方法可能是检查http://debbugs.gnu.org/中列出的错误。例如,请参见bug#15510、#16875;或http://lists.gnu.org/archive/html/help-gnu-emacs/2014-04/msg00250.html
已经在“提交的粗粒度”上发表了评论:虽然tkf基本上是在寻找更小的块,但有时条件让我离开了规则。相当多的部分不是手工编写的,而是由驻留在“devel”目录中的程序编写的。它们首先创建用于开发分支的文件,即组件python模式。当开始一个新特性时,通常不明显选择的路径是否富有成效。 一百次之后,可能还是不可能,也可能不值得推荐。而不是张贴所有的曲流,在这些情况下,用来保持几天的实验分支和检查通过时。
顺便说一下,假设tkf不是指编译错误,而是指编译器警告。不幸的是,Emacs混合了关于支持样式首选项的警告和实际错误。
我曾经是python-mode.el用户,但一年前就不再使用了,因为我觉得它的开发方式组织得不好。这是我当时记下的一张单子。但我要提醒你的是,从那时起已经过去了将近一年,所以情况可能会有所改变。
我喜欢python-mode.el的一点是它带有自动测试集(尽管我从未运行过)。python.el还没有测试集。但我知道python.el的作者现在正在写它。
虽然python.el很紧凑,但这并不意味着您的功能很差。这更像是保持核心的小型化,让其他人通过提供简洁的API来扩展它。同一个python.el的作者写了python-django.el来为django项目扩展python.el。我为Python编写了名为Jedi.el的自动完成插件和名为EIN的高级IPython插件。两者都比python-mode.el更好地支持python.el(不过,那是因为我不使用python-mode.el)。
首先,我错过了python-mode.el中的一些东西,但是它们很快就在python.el中修复了(当然,这可能意味着我在python mode.el中没有使用太多功能)。
在shell缓冲区中完成: 它在python.el和python-mode.el中都可以工作。但是,如果Emacs版本和python(-mode).el版本的组合不好,则有时它不起作用。因此,python.el以这种方式可能更安全。 但如果您想要更好的解决方案,请使用EIN:)
源文件缓冲区中的完成: 只需使用Jedi.el:)
自动缩进/重新缩进: 我不知道哪一个在性能方面更好。但是,返回的keybind各不相同。在python-mode.el中,如果键入RET,则会自动缩进。在python.el中,RET不提供缩进,您应该使用C-j。实际上,newline+缩进的C-j是Emacs中的通用行为。因此,如果使用其他语言编程,python.el会更好。
相关问题 更多 >
编程相关推荐