我最近尝试使用python.el
编辑emacs中的Python文件,但我发现体验有点陌生和低效,于是又换回了python-mode.el
。我已经使用python-mode.el
大约十年了,所以我可能有点固执己见。我很想听听那些仔细评估过这两种模式的人的意见,特别是他们看到的优缺点以及他们的工作如何与python.el
的特定功能互动。
对我来说,python.el
存在两个主要问题:
每个包含Python文件的缓冲区都有自己的交互式Python shell。我习惯于在一个交互式shell中进行开发,并在Python文件之间共享数据。(从软件工程的角度来看,这可能看起来不太好,但我通常处理的是需要花费一些时间将其加载到内存中的大型数据集。)
python.el
中的skeleton-mode支持似乎绝对是多余的(Python的语法使得这样的自动化工具是不必要的),而且设计得很糟糕(例如,它没有关于“for”循环生成器表达式或“<expr 1> if <cond> else <expr 2>”表达式的知识,所以你必须回去删除它在强制要求你在minibuffer中输入表达式子句后插入的冒号。)我无法弄清楚如何关闭它。有一个python.el
变量声称可以控制这一点,但它似乎不起作用。可能是我使用的python.el
版本有问题(它来自Debian emacs-snapshot软件包),因此如果有人知道最新版本的python.el
,我想听听他们的意见。(大约两周前,在CVS emacs中我遇到了同样的问题。)