Я использую Pymacs для загрузки ropemacs и веревки со следующими строками в моем .emacs файле, как описано здесь.
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
Это однако замедляет запуск Emacs значительно, поскольку это требует времени для загрузки Ropemacs.
Я попробовал следующую строку вместо этого, но это загружает Ropemacs каждый раз, когда файл Python открыт:
(add-hook 'python-mode-hook (lambda () (pymacs-load "ropemacs" "rope-")))
Есть ли способ работать pymacs-load
операция при открытии файла Python, но только если ropemacs и веревка еще не загружаются?
В моем .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 и ropemac будут загружены только один раз. Это происходит при открытии первого файла .py .