亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

將Emacs打造成強大的Python代碼編輯工具

2020-01-04 17:56:00
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了將Emacs打造成強大的Python代碼編輯工具的方法,人們常說Vim是編輯器之神而Emacs是神的編輯器:)需要的朋友可以參考下

基本配置

Emacs本身提供了python-mode,輸入M-x python-mode,就可以進入python模式。相應地,會在菜單欄出現Python菜單。當然,一般來講,如果是.py文件打開的話,也會自動進入該模式。

不過,默認的python模式功能上面用起來還是有點弱,而且許多地方做的并不好,最好下載第三方的python模式。python-mode是一個開源項目,可以在https://launchpad.net/python-mode進行下載。

1.安裝

1).安裝prog-modes:

 

 
  1. aptitude install prolog-el 

2).下載python-mode.el文件在項目主頁上面。

3).編譯:

 

 
  1. C-x C-f /path/to/python-mode.el RET 
  2. M-x byte-compile-file RET 

4).在.emacs中加入python-mode.el路徑:

 

 
  1. (setq load-path (cons "/dir/of/python-mode/" load-path)) 

檢測擴展是否加載路徑,測試方法:M-x locate-library RET python-mode RET

2.配置.emacs文件

 

 
  1. (setq auto-mode-alist 
  2.  
  3. (cons '("//.py$" . python-mode) auto-mode-alist)) 
  4.  
  5. (setq interpreter-mode-alist 
  6.  
  7. (cons '("python" . python-mode) 
  8.  
  9. interpreter-mode-alist)) 
  10.  
  11. (autoload 'python-mode "python-mode" "Python editing mode." t) 
  12.  
  13. ;;; add these lines if you like color-based syntax highlighting 
  14.  
  15. (global-font-lock-mode t) 
  16.  
  17. (setq font-lock-maximum-decoration t) 
  18.  
  19. (set-language-environment 'Chinese-GB) 
  20.  
  21. (set-keyboard-coding-system 'euc-cn) 
  22.  
  23. (set-clipboard-coding-system 'euc-cn) 
  24.  
  25. (set-terminal-coding-system 'euc-cn) 
  26.  
  27. (set-buffer-file-coding-system 'euc-cn) 
  28.  
  29. (set-selection-coding-system 'euc-cn) 
  30.  
  31. (modify-coding-system-alist 'process "*" 'euc-cn) 
  32.  
  33. (setq default-process-coding-system  
  34.  
  35. '(euc-cn . euc-cn)) 
  36.  
  37. (setq-default pathname-coding-system 'euc-cn) 

3.操作

1).執行:C-c C-c,這樣會在新的窗口及緩沖區執行腳本;

2).C-j:以相同的縮進插入新的一行;

3).C-M-a:跳至函數或類首;

4).C-M-e:跳至函數或類尾;

5).C-c C-w:運行PyChecker進行代碼檢測;

大體的使用方式就是這樣的了,另外,還有許多類或函數的模板可以通過快捷鍵進行,在今后常用的時候會加強了解的。感謝你能看到這里!

安裝擴展

在Emacs中,通過各種擴展,打造強大的Python IDE環境,包括Snippet工具,智能提示,自動補全,重構工具,調試以及GAE的調試,等等。以下各工具的安裝前提是你對Emacs的配置文件有一定的了解,所有相關的el文件都必須放在load_path能夠加載的地方。

1. YASnippet

snippet工具,可自定義一些模板,必不可少的好東西!看了下面這個很酷的演示動畫就明白了:

http://yasnippet.googlecode.com/files/yasnippet.avi

安裝方法:

 

 
  1. (require 'yasnippet) 
  2. (yas/initialize) 
  3. (yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets"

2. AutoComplete

自動完成工具,會像VS里一樣,彈出一個列表框讓你去選擇。

將Emacs打造成強大的Python代碼編輯工具

安裝方法:

 

 
  1. Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->(require 'auto-complete) 
  2. (require 'auto-complete-config) 
  3. (global-auto-complete-mode t) 
  4. (setq-default ac-sources '(ac-source-words-in-same-mode-buffers)) 
  5. (add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols))) 
  6. (add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename))) 
  7. (set-face-background 'ac-candidate-face "lightgray"
  8. (set-face-underline 'ac-candidate-face "darkgray"
  9. (set-face-background 'ac-selection-face "steelblue") ;;; 設置比上面截圖中更好看的背景顏色 
  10. (define-key ac-completing-map "/M-n" 'ac-next) ;;; 列表中通過按M-n來向下移動 
  11. (define-key ac-completing-map "/M-p" 'ac-previous) 
  12. (setq ac-auto-start 2) 
  13. (setq ac-dwim t) 
  14. (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) 

3. Rope and Ropemacs

非常棒的重構工具,比如rename,move,extract method等等。還有非常好用的goto difinition(跳到定義),show documents(顯示文檔)等等。安裝Ropemacs前,必須先安裝rope和pymacs 。

rope的安裝方法:

 

 
  1. python setup.py install 

pymacs的安裝方法:

 

 
  1. python setup.py install 

.emacs中:

 

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

Ropmacs的安裝方法:

 

 
  1. python setup.py install 

.emacs中:

 

 
  1. (pymacs-load "ropemacs" "rope-"
  2. (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.py 到PYTHONPATH (比如: c:/python25/Lib/site-packages)

3. .emacs中添加:

 

 
  1. (require 'pycomplete) 
  2. (setq auto-mode-alist (cons '("//.py$" . python-mode) auto-mode-alist)) 
  3. (autoload 'python-mode "python-mode" "Python editing mode." t) 
  4. (setq interpreter-mode-alist(cons '("python" . python-mode) 
  5. interpreter-mode-alist)) 

5. pdb調試

在Emacs中,通過M-x pdb可調出pdb對python代碼進行調試。但是發現在Windows系統中,總進入不了調試模式。主要原因有:

(1). windows中,找不到pdb.py位置。需自己制定pdb的路徑??梢酝ㄟ^下面的方法設置pdb的路徑:

 

 
  1. Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->;; pdb setup, note the python version 
  2. (setq pdb-path 'c:/python25/Lib/pdb.py 
  3. gud-pdb-command-name (symbol-name pdb-path)) 
  4. (defadvice pdb (before gud-query-cmdline activate) 
  5. "Provide a better default command line when called interactively." 
  6. (interactive 
  7. (list (gud-query-cmdline pdb-path 
  8. (file-name-nondirectory buffer-file-name))))) 

(2). windows中,調用pdb時,未使用python -i 參數。

針對上面兩個問題,我的解決辦法是,不設置pdb具體路徑,M-x pdb 回車后,出現下面命令:

 

 
  1. Run pdb (like this): pdb  

然后手動修改一下:

 

 
  1. Run pdb (like this): python -i -m pdb test.py 

這樣就搞定了。

6. 如何調試GAE程序

GAE是一個Web應用,需要跨線程進行調試,而pdb本身對線程調試支持不好。使用pdb進行線程調試時,只有在需要調試的地方插入下面代碼:

 

 
  1. import pdb 
  2. pdb.set_trace() 

然后直接運行被調試代碼,而不是通過python pdb來執行,就可以多線程代碼進行調試了。

但是Google App Engine這樣的Web應用,使用這個方法還是不能調試,和stdin和stdout有關,最后找到一個很好的解決方法:

 

 
  1. def set_trace(): 
  2. import pdb, sys 
  3. debugger = pdb.Pdb(stdin=sys.__stdin__, 
  4. stdout=sys.__stdout__) 
  5. debugger.set_trace(sys._getframe().f_back) 

在任何需要調試的地方,調用上面的set_trace()函數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
操日韩av在线电影| 色偷偷9999www| 久久国产色av| 精品视频久久久| 日韩av免费看| 精品亚洲aⅴ在线观看| 亚洲一区二区少妇| 欧美国产高跟鞋裸体秀xxxhd| 亚洲综合自拍一区| 在线视频一区二区| 亚州欧美日韩中文视频| 国产+人+亚洲| 国产精品h在线观看| 日韩免费看的电影电视剧大全| 亚洲毛片在线观看| 日韩经典中文字幕在线观看| 亚洲在线观看视频| 欧美裸体xxxx极品少妇软件| 国产成人精品网站| 亚洲乱码一区av黑人高潮| 国产99久久精品一区二区永久免费| 久久av资源网站| 国产免费一区二区三区在线能观看| 日本精品性网站在线观看| 精品国产1区2区| 久久精品中文字幕一区| 97久久超碰福利国产精品…| 欧美老女人在线视频| 国产精品成人一区二区三区吃奶| 亚洲欧美www| 成人午夜在线观看| 午夜精品久久久久久久久久久久久| 8050国产精品久久久久久| 欧美理论电影在线播放| 欧美亚洲一区在线| 欧美日韩成人在线视频| 91免费看片在线| 777国产偷窥盗摄精品视频| 国产激情久久久| 国模视频一区二区| 色噜噜国产精品视频一区二区| 亚洲色图第三页| 亚州欧美日韩中文视频| 国产综合香蕉五月婷在线| 国产免费一区二区三区在线能观看| 亚洲最大福利网站| 国产精品黄视频| 久久成人一区二区| 亚洲男女性事视频| 亚洲视频精品在线| 大胆欧美人体视频| 日韩电影免费在线观看| 在线亚洲国产精品网| 国产一区二区三区在线播放免费观看| 姬川优奈aav一区二区| 亚洲成人精品久久久| 久久久久久国产免费| 亚洲精品视频在线播放| 成人xxxxx| 亚洲精品福利在线观看| 国产精品欧美一区二区| 欧美激情在线播放| 国产精品免费看久久久香蕉| 国产精品pans私拍| 国产成人aa精品一区在线播放| 97高清免费视频| 欧美精品18videos性欧| 久久久久久久成人| 中文字幕久热精品在线视频| 国产一区二区黑人欧美xxxx| 国产日韩在线免费| 91成人在线观看国产| www.日韩不卡电影av| 欧美午夜女人视频在线| 亚洲欧美日韩国产成人| 日韩中文在线观看| 九九精品在线播放| 亚洲伊人久久大香线蕉av| 亚洲综合色激情五月| 在线视频精品一| 亚洲人成伊人成综合网久久久| 中文字幕日韩在线播放| 欲色天天网综合久久| 91国偷自产一区二区三区的观看方式| 97在线视频免费观看| 日韩在线观看精品| 亚洲女成人图区| 国产精品视频网址| 亚洲午夜精品久久久久久久久久久久| 成人黄色在线免费| 中文.日本.精品| 欧美极品在线视频| 九九热最新视频//这里只有精品| 中文字幕亚洲二区| 亚洲国产精品字幕| 久久综合免费视频影院| 国产精品羞羞答答| 人妖精品videosex性欧美| 亚洲欧美日韩成人| 久久久久久有精品国产| 欧美国产日韩一区二区| 国产精品一区二区3区| 亚洲一区二区三区在线视频| 欧美最顶级的aⅴ艳星| 欧美性猛交xxxx乱大交| 欧美电影免费在线观看| 色香阁99久久精品久久久| 亚洲福利视频专区| 91精品国产777在线观看| 亚洲午夜小视频| 亚洲欧美一区二区三区久久| 亚洲精品久久久久久下一站| 欧美电影免费观看高清| 久久在线精品视频| 欧美色图在线视频| 亚洲视频精品在线| 55夜色66夜色国产精品视频| 久久综合九色九九| 欧美日韩中文字幕日韩欧美| 韩国19禁主播vip福利视频| 欧美巨猛xxxx猛交黑人97人| 欧美在线播放视频| 日本午夜精品理论片a级appf发布| 中文字幕亚洲欧美日韩在线不卡| 中文字幕亚洲欧美日韩高清| 国产精品视频中文字幕91| 欧美又大又硬又粗bbbbb| 欧美激情网站在线观看| 久久久久久有精品国产| 精品国产精品三级精品av网址| 最新91在线视频| 欧美黄色www| 国产伦精品一区二区三区精品视频| 亚洲激情成人网| 久久久久久久久国产精品| 精品国产一区二区三区久久久狼| 亚洲国产精品网站| 中文字幕亚洲无线码a| 日韩毛片中文字幕| 久久久免费观看视频| 久久久久国产一区二区三区| 国产三级精品网站| 亚洲免费伊人电影在线观看av| 成人国产在线视频| 欧美激情中文网| 欧美日韩在线免费| 成人美女免费网站视频| 欧洲亚洲免费在线| 久久久av亚洲男天堂| 日韩av免费在线播放| 69**夜色精品国产69乱| 国产精品一区二区三| 丝袜一区二区三区| 亚洲欧美国产一区二区三区| 国产精品视频一区二区高潮| 亚洲a区在线视频| 亚洲国产精品成人av| 欧美一级淫片丝袜脚交| 欧美激情精品在线| 国产精品美女久久| 亚洲精品一区在线观看香蕉| 中文字幕亚洲综合久久| 欧美一区二区三区四区在线| 91综合免费在线|