Emacs Jedi自动完成不在init上工作

时间:2013-03-27 12:37:24

标签: python emacs autocomplete jedi

前几天我通过el-get安装了jedi以及其他一些软件包,最初它们运行良好(自动完成,弹出菜单等)。

然而,在过去的几天里,绝地已停止工作(即自动完成,弹出窗口和功能参数建议不再有效)。

我发现部分原因是因为某些原因导致启动时未启用自动完成功能。我在el-get加载jedi之前和之后尝试将(setq auto-complete-mode t)添加到我的.emacs文件中,但是尽管启用了自动完成功能,但由于某些原因它仍然无法正常工作。相反,我必须在加载emacs后使用Mx自动完成模式启用自动完成(我已经尝试了Emacs auto-complete-mode at startup中的建议,但是当加载emacs时,这只会引发大量错误。)

除此之外,当我输入M-x jedi RET时,jedi故障排除页面上列出的一些命令(例如jed:setup-keys)似乎丢失了。

我似乎也遇到了和这个人一样的问题:emacs-jedi does not find numpy completions,但我不确定这两个问题是否相关。

2 个答案:

答案 0 :(得分:3)

auto-complete-mode我遇到了同样的问题。我不得不手动启动它。

作为一个全新手,我挣扎了一段时间,但推断出一个解决方案。也许它不是很优雅,但它有效...在启用jedi ac之前将其添加为python-mode的钩子。

;;enable jedi autocompletion in python
(add-hook 'python-mode-hook 'auto-complete-mode)
(add-hook 'python-mode-hook 'jedi:ac-setup)

答案 1 :(得分:2)

首先查看文档中的故障排除部分: http://tkf.github.com/emacs-jedi/#troubleshooting

我建议您从文档中提到的make tryout开始,如下所示:

 curl -fsSkL https://raw.github.com/rejeep/carton/master/go | sh
 make CARTON=$HOME/.carton/bin/carton tryout

来自文件:

  

这将安装与本地分开的Jedi.el的要求   在.emacs.d中设置。您还可以检查配置文件   tryout-jedi.el,make tryout用来查看最小值   工作配置。如果您在设置Jedi.el时遇到问题,   比较您的配置文件和tryout-jedi.el