[emacs] Python代码补全的各种方法介绍以及对比

Emacs的代码补全主要有以下几种选择:

  • py-complete.el (只能用于python-mode.el)
  • python-mode自带的pycomplete(包含一个pycomplete.el和一个pycomplete.py),需要在python端安装pymacs做桥梁 (当然,也只能用于python-mode)
  • ropemacs: 需要在python端安装pymacs,rope,ropemode和ropemacs, 前端一般是用auto-complete
  • pysmell: 需要在python端安装pymacs和pysmell. 这个pysmell也支持vim和textmate
  • 如果你使用ipython做为emacs里面的python shell的话,还可以使用anything-ipython来补全,当然也支持python shell中补全

emacs-for-python 这个all in one的包,采用的是第三种(ropemacs),不过auto-complete的即时触发性能上不是太好,也很影响编辑。

不过,除了上面这些专用的补全,其它的手段还有:

  • abbrev-expand 根据自行定义的缩略语展开
  • dabbrev-expand 根据Emacs中其它buffer的内容匹配补全
  • yasnippets 模板
  • 我写的auto-complete-scite-api :-) 最新的0.2.2支持python.api了

下面将详细介绍每种方法,以及它们各自的优缺点。

posted @ 2011-05-06 08:07  巴蛮子  阅读(7769)  评论(27编辑  收藏  举报