ein 中两种补全后端冲突

最近在使用 spacemacs 的 ein layer,发现 ein 比以前改进不少,但是在 spacemacs 中使用有一些问题,其中最为蛋疼的是两种补全后端相互冲突。我录了屏来说明这个问题:

Peek%202018-12-16%2016-47

可以看到输入 plt.fig 后先是一种后端补全结果,然后又被另一种后端补全结果取代。这两个后端到底是什么?好像有一个是 company 另一个不是,有没有解决了类似问题的朋友分享一下你解决的经验?

company-backends 的值如下:

(ein:company-backend
     (company-dabbrev-code company-gtags company-etags company-keywords)
     company-files company-dabbrev)

刚才尝试了把后端只留下一个 ein:company-backend 仍然存在上述现象。所以是 ein 的company后端的锅?

禁用 company 补全就好了,看来 ein 的company 后端不太健全啊,而且补全方法的时候还会把点之前的内容“吃”掉。

暂时禁用 company 补全算了

ein貌似默认使用的auto-complete,可以试试更改ein:completion-backend的值。

https://github.com/millejoh/emacs-ipython-notebook/blob/master/lisp/ein-subpackages.el#L30-L48

1 个赞

有可能是 ac 和 company 同时起作用造成的。目前先把 company 在 ein 中禁用了,有时间了看看有没有什么更优雅的解决方案。