仅在打开Python文件时加载Pymacs和Ropemacs?

mtg*_*red 5 python emacs ropemacs pymacs

我用Pymacs加载ropemacs绳索与以下行我的.emacs描述文件在这里.

(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
Run Code Online (Sandbox Code Playgroud)

然而,由于加载Ropemacs需要一段时间,因此它显着减慢了Emacs的启动速度.

我尝试了以下行,但每次打开Python文件时都会加载Ropemacs:

(add-hook 'python-mode-hook (lambda () (pymacs-load "ropemacs" "rope-")))
Run Code Online (Sandbox Code Playgroud)

有没有办法pymacs-load在打开Python文件时执行操作,但只有在尚未加载ropemacsrope时

mal*_*ana 9

在我的.emacs我有:

(autoload 'python-mode "my-python-setup" "" t)
Run Code Online (Sandbox Code Playgroud)

在一个单独的文件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)
Run Code Online (Sandbox Code Playgroud)

这样,Pymacsropemacs只会被加载一次.打开第一个.py文件时会发生这种情况.