在emacs中打造python开发环境

参考文章:http://www.cnblogs.com/coderzh/archive/2009/12/26/emacspythonide.html

用emacs中进行python开发,总是感觉有点力不从心。按照网上的教程对于emacs进行了改造。先用着再说吧!

使用的插件有YASnippet, autocomplete, Rope and Ropemacs, pycomplete , electric

对于YASnippetautocomplete来说:具体安装不写了,请参考网上文章: http://www.oschina.net/question/54100_56621(就是因为这篇文章才走上了不归路)

1. YASnippet

  snippet工具,可自定义一些模板,必不可少的好东西!这个不多说吧,直接上emacs配置吧!

  

1 ;;;;;;;;;;;;;yasnippet;;;;;;;;;;;;;;;;;;;;;
2 
3 (add-to-list 'load-path
4               "/home/huihui/.emacs.d/plugins/yasnippet")
5 (require 'yasnippet)
6 (yas-global-mode 1)

2. autocomplete

    自动完成工具,会像VS里一样,弹出一个列表框让你去选择。

    直接上emacs配置

 1 ;;;;;;;;;;;;;auto-complete;;;;;;;;;;;;;;;;;;;;;
 2 (add-to-list 'load-path "/home/huihui/.emacs.d/plugins/auto-complete")
 3 (require 'auto-complete-config)
 4 (add-to-list 'ac-dictionary-directories "/home/huihui/.emacs.d/plugins/auto-complete/ac-dict")
 5 (ac-config-default)
 6 
 7 (require 'auto-complete)
 8 (require 'auto-complete-config)
 9 (global-auto-complete-mode t)
10 (setq-default ac-sources '(ac-source-words-in-same-mode-buffers))
11 (add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols)))
12 (add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename)))
13 (set-face-background 'ac-candidate-face "lightgray")
14 (set-face-underline 'ac-candidate-face "darkgray")
15 (set-face-background 'ac-selection-face "steelblue")
16 ;;; 设置比上面截图中更好看的背景颜色
17 (define-key ac-completing-map "\M-n" 'ac-next)
18  ;;; 列表中通过按M-n来向下移动
19 (define-key ac-completing-map "\M-p" 'ac-previous)
20 (setq ac-auto-start 2)
21 (setq ac-dwim t)
22 (define-key ac-mode-map (kbd "M-TAB") 'auto-complete)

3. Rope and Ropemacs

    安装方式,我使用的是easy_install进行的安装rope和ropemacs

# /usr/local/python2.7/bin/easy_install  rope
# /usr/local/python2.7/bin/easy_install  ropemacs

 

  安装 pymacs ,使用的是网上下载的Pymacs-master.zip

1 #  unzip Pymacs-master.zip
2 #  cd Pymacs-master
3 #  make install 
4 #  mkdir /home/huihui/.emacs.d/plugins/pymacs/
5 #  cp pymacs.el  /home/huihui/.emacs.d/plugins/pymacs/pymacs.el  

 

emacs中的配置

(add-to-list 'load-path
              "/home/huihui/.emacs.d/plugins/pymacs")
(require 'pymacs)
(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)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)

 

 

4. pycomplete

  一个更加强大的智能提示工具,比如,输入time.cl 然后按TAB键,会列出time模块所有cl开头的函数名。在调用函数时,还会在mini buffer中提示函数的参数类型。这个东西需要先安装pymacs。

 

安装方法:

 

1. 拷贝 python-mode.el and pycomplete.el 到Emacs的load_path中。

2. 拷贝 pycomplete.pyPYTHONPATH (比如: c:/python25/Lib/site-packages)   

操作步骤:

1 # wget http://www.rwdev.eu/python/pycomplete/pycomplete.el
2 # wget http://www.rwdev.eu/python/pycomplete/python-mode.el
3 # cp  *.el   /home/huihui/.emacs.d/plugins/pycomplete/
4 # wget http://www.rwdev.eu/python/pycomplete/pycomplete.py
5 # cp pycomplete.py /usr/local/python2.7/lib/python2.7/site-packages/

emacs中配置:

1 ;;;;;;;;;pycomplete;;;;;;;;;;;;;;
2 (add-to-list 'load-path 
3              "/home/huihui/.emacs.d/plugins/pycomplete")
4 (require 'pycomplete)
5 (require 'python-mode)
6 (setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
7 (setq interpreter-mode-alist (cons '("python" . python-mode)
8                                        interpreter-mode-alist))
9 (autoload 'python-mode "python-mode" "Python editing mode." t

 

5. electric

 对于这个模块其实不想说,但是在python编辑模式中使用它,每次都好心办坏事,需要在emacs配置中禁用其中的自动缩进

 

1 ;;;;;;;;;; 自动缩进;;;;;;;;;;;;;;;;;;;;;;;
2 ;;; 但是在python里面这个特别的不好用。
3 (require 'electric)
4 ;(electric-indent-mode t)
5 (electric-pair-mode t)
6 (electric-layout-mode t)

 

 

 

 

 

posted @ 2014-04-24 14:39  小名辉辉  阅读(1709)  评论(0编辑  收藏  举报