在TAB完成时未检测到Jedi Vim Python子类

问题出在Arch(1)& Debian Jessie(2)其中:

1.

> uname -r
4.0.5-1-ARCH
> echo $PYTHONPATH
/usr/lib/python2.7/

> Debian Jessie没有PYTHONPATH设置.

我的vim是用python编译的.

:python import sys; print(sys.version)
2.7.10 (default,May 26 2015,04:16:29)
[GCC 5.1.0]

我尝试了以下Arch Linux软件包:

> pacman -S python2-jedi vim-jedi

完成适用于类但不适用于子类.

import os          # os is built-in library.
os.                # ycm does not complete members of this class.

删除了它们并下载了git包.

> cd ~/.vim/bundle/jedi-vim/jedi/test/ && ./run.py
Summary: (0 fails of 962 tests) in 18.819s

> cd ../ && ./setup build && ./setup install

同样,完成适用于类,但不适用于子类.

我之前的问题是从Vim YouCompleteMe Python subclasses are not detected on TAB-completion in Arch Linux开始把我送到jedi-vim

我刚刚意识到由于我的不理解而犯了一个错误.我试图导入以下方式:

当我使用带有完成标签的ipython时这是很自然的:

这是在python脚本中导入模块的错误方法.这是正确的方法

最后,jedi-vim插件完美运行.如果与不可用的进口相关的不确定性,您可以使用以下方式验证您的

:python import sys; print(sys.path)

然后在运行时添加缺少的目录,以测试它们的缺失是否导致问题.

:python import sys; sys.path.append("/path/to/dir")

在我的例子中,os.py位于/usr/lib/python2.7/.

我希望这能为未来的jedi-vim用户澄清这一点.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...