我使用Pymacs在我的.emacs文件中使用以下行加载ropemacs和rope,如here所述.
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
@H_404_7@
然而,由于加载Ropemacs需要一段时间,因此它显着减慢了Emacs的启动速度.
我尝试了以下行,但每次打开Python文件时都会加载Ropemacs:
(add-hook 'python-mode-hook (lambda () (pymacs-load "ropemacs" "rope-")))
@H_404_7@
有没有办法在打开Python文件时执行pymacs-load操作,但只有在没有加载ropemacs和rope的情况下?
最佳答案
在我的.emacs我有:
(autoload 'python-mode "my-python-setup" "" t)
@H_404_7@
在一个单独的文件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)
@H_404_7@
这样,Pymacs和ropemacs只会被加载一次.打开第一个.py文件时会发生这种情况.