YouCompleteMe不适用于python

时间:2015-10-21 17:37:40

标签: python vim vim-plugin youcompleteme python-jedi

我不确定这是不是某种错误(可能不是,否则每个人都会抱怨)而且没有Google帐户,我就无法使用Google群组,所以我在这里试试运气希望有人有一个建议。

我安装了使用clang-completer的YouCompleteMe,并且C,C ++的工作正常。现在我编辑.py文件,并且提供的唯一完成是缓冲区中已有的单词。没有语义完成。 :YcmCompleter打印No semantic completer exists for filetypes: [u'py']。我从.vimrc

中删除了以下所有内容
call pathogen#infect()
Helptags

filetype on

无济于事。有没有人知道如何更好地诊断问题?

编辑:我意识到我没有安装jedi。所以我跑了pip install jedi这奇怪地改变了什么。

2 个答案:

答案 0 :(得分:2)

事实证明,ftplugin.pypy文件会将文件类型设置为python,而不是Func<string[][], string[][]> build = null; build = s => s.Length == 1 ? s[0].Select(x => new [] { x }).ToArray() : build(s.Skip(1).ToArray()) .SelectMany(xs => s[0].Select(x => new [] { x }.Concat(xs).ToArray())) .ToArray(); 。禁用它解决了这个问题。

答案 1 :(得分:0)

Python是一种解释型语言。

自动完成仅适用于python库中的对象(例如:os,time,...)和vim缓冲区。

如果您正在使用buildout,则可以在vim bundle中添加vim-buildout =&gt; https://github.com/FBruynbroeck/vim-buildout

此插件在syspath中添加鸡蛋(/ parts / omelette)。 (YouCompleteMe使用syspath vim进行python自动完成)

就个人而言,我使用jedi(自动完成库)。 YouCompleteMe对我来说太大了。 (我现在只在python中开发)