rope是一個python的重構庫。
ropemacs是rope的emacs介面,ropemacs依賴於pymacs。
pymacs是用來串連emacs和python的,有了它就可以在emacs中調用python了。
要用ropemacs在emacs中進行python的補全,先要安裝pymacs(當然最先得確保python已經安裝上了),然後順序安裝rope, ropemacs。在.emacs中寫下下面代碼來設定pymacs:
;;; Initialize 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)
接下來寫入下面代碼來設定ropemacs:
;;; Initialize Rope
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
以後開啟.py檔案的話,emacs會加入一個rope的菜單。編輯python時按M-/就能顯示python的補全了。
ps: 在osx裡,emacs啟動rope會出錯,是因為emacs沒有從系統繼承PYTHONPATH這個環境變數。所以需要在.emacs的開頭用setenv設定一個PYTHONPATH這個環境變數。
2009-09-23: 今天重裝了osx,發現其實在osx10.5中是不需要設定PYTHONPATH這 個環境變數的。10.5預設安裝的python-2.5.1預設的設定就可以找到安裝好的 rope/ropemacs等。上次安裝後rope出錯是因為沒有用內建的python-2.5.1,而是 重新安裝了一個python-2.5.2,python-2.5.2預設沒有找到rope/ropemacs才出問 題。(另外,osx10.5預設安裝的python-2.5.1裡已經內建了wxPython-2.8.4)