emacs配置:pythonmodeh

2024-09-28 22:21:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力处理我的emacs配置。.emacs中的相关行是:

(require 'python-mode)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))

(add-hook
 'python-mode-hook
 '(lambda ()
    (message "python-mode-hook called")
    (require 'jedi)
    (when (require 'elpy nil t)
      (elpy-enable)
      (setq elpy-rpc-backend "jedi")
      (add-hook
       'jedi-mode-hook
       '(lambda ()
          (setq-local ac-max-width 0.5))))))

当我加载一个python文件时,钩子被调用,并得到“python mode hook called”消息。然而,elpy功能并不存在。如果我那么M-x python-mode,一切都是应该的。在

我不明白为什么我需要调用“python模式”两次。不知怎么的,我认为这可能与钩子的调用/定义顺序错误有关,但我不明白这里出了什么问题。在

我希望你能给我一些提示。在


Tags: tolambdaaddautomoderequirehook钩子
2条回答

同时发现了。。。问题是elpyenable确实安装了一个钩子。它并不像我想的那样直接调用elpy模式。因此,只有python模式的第二次调用才真正导致对该函数的调用。当然这更好。。。所以现在我有了:

(elpy-enable)
(setq elpy-rpc-backend "jedi")
(add-hook
 'elpy-mode-hook
 '(lambda () (setq-local ac-max-width 0.5)))  

要启用elpy功能,.emacs所需的全部内容是

(package-initialize)
(elpy-enable)

但是,您还必须正确安装elpy包本身。在

尝试执行“快速安装”部分中的所有步骤:https://github.com/jorgenschaefer/elpy#quick-installation

相关问题 更多 >