已阅读:5,876 次
Emacs中配置Python-mode的代码自动补全
ian | Emacs,Python | 2011/12/31


需要安装插件:pymacs、python-mode、pycomplete

首先安装python-mode
emacs有自带的python模式,但是大家一般都是用这个python-mode.el的拓展插件,功能方面要强大好用一些。下载:http://www.rwdev.eu/python/pycomplete/python-mode.el

把下载的python-mode.el文件放到emacs的插件加载目录中,并在.emacs配置文件中加入如下配置信息:

1
2
3
4
5
6
7
8
;;文件关联,自动将py后缀的文件和pyhton-mod关联
(load "python-mode.el")
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons '("python" . python-mode) interpreter-mode-alist))
;;自动加载,将 python-mode 和文件 python-mode.elc关联
(autoload 'python-mode "python-mode" "Python editing mode." t)
(global-font-lock-mode t)  ;语法加亮
(setq font-lock-maximum-decoration t)

启动你的emacs,可以发现菜单上多了两个菜单,其中之一是:IM-Python, 而另一个是python。
IM-Python中全部是类和函数的定义,点击后可以直接到相关的定义处,而python菜单可以显示当前的语句块,当前的函数定义,当前的类定义等等

然后安装pymacs
这个插件是用来连接emacs和python的,有了它就可以在emacs中调用python了。
下载:http://pymacs.progiciels-bpi.ca/

进入pymacs目录,执行如下命令:

1
>>python setup.py install

然后在目录下会生成一些文件,将生成的pymacs.el文件复制到emacs插件目录中,.emacs配置文件加入:

1
2
3
4
5
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)

最后安装pycomplete
这个插件就是用来实现对python代码进行自动补全功能的插件
下载:http://www.rwdev.eu/python/pycomplete/pycomplete.el
http://www.rwdev.eu/python/pycomplete/pycomplete.py

将pycomplete.el文件放到插件目录下,将pycomplete.py文件放到Python安装目录的/site-packages/下,我的系统中的路径是/usr/local/lib/python2.6/site-packages/,然后在.emacs文件中加入如下代码:

1
2
3
4
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
(require 'pycomplete)

OK,现在emacs就可以实现自动补全了,使用方法如下:

输入datetime.时,按下C + i,emacs将生成所有可能项
输入datetime.n时,按下C + i,emacs将自动生成datetime.now
光标放到datetime上,按F1,将出现这个类的help信息

其他一些快捷键用法可以具体参考pycomplete.el文件

原创文章,转载请注明:转载自ian的个人博客[http://www.icodelogic.com]
本文链接地址: http://www.icodelogic.com/?p=429

tags:

没有评论

发表评论

你需要先 登录 才能回复