我使用pymacs在.emacs文件中加载ropemacs和rope,如here所述。
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
但是,由于加载ropemac需要一段时间,因此它会显著减慢emacs的启动速度。
我尝试了下面的行,但是每次打开Python文件时都会加载ROPMACS。
(add-hook 'python-mode-hook (lambda () (pymacs-load "ropemacs" "rope-")))
打开python文件时是否有方法执行
pymacs-load
操作,但前提是尚未加载ropemac和rope? 最佳答案
在我的.emacs中,我有:
(autoload 'python-mode "my-python-setup" "" t)
在一个单独的文件my-python-setup.el中保存:
(require 'python)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
;; 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)
;; Initialize Rope
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
这样,pymacs和ropemacs将只加载一次。当打开第一个.py文件时会发生这种情况。