java自动补全插件_VIM自动补全插件:deoplete

Nvim用的是Shougo开发的NCM,但是在VIM 8+就要用同一个作者开发的Deoplete.

注意:这里只讲怎么给vim8安装。

安装

第一步:安装所有依赖

# 安装VIM 8

# ....

# 安装Python3

# ....

# 安装vim的Python-client库pynvim

pip2 install --user pynvim

pip3 install --user pynvim

# 安装插件 python的neovim库

pip2 install --user neovim

pip3 install --user neovim

第二步:在vimrc中添加配置

set encoding=utf-8

set pyxversion=3

" 或

set pyxversion=2

" Python3的可执行文件位置

g:python3_host_prog = "/path/to/bin/python3"

" 在插件管理器中,比如vim-plug中,加入如下:

if has('nvim')

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

else

Plug 'Shougo/deoplete.nvim'

Plug 'roxma/nvim-yarp'

Plug 'roxma/vim-hug-neovim-rpc'

endif

let g:deoplete#enable_at_startup = 1

保存重启vim,并在vim中输入命令:PlugInstall安装插件。

第三步:在vim中输入测试命令

以下命令不能报错才行:

:python3 import neovim 不报错,或

:python2 import neovim 不报错

:echo has('pythonx') 返回1

:echo exepath('python3') 能够显示python3的执行文件位置,或

:echo exepath('python2') 能够显示python2的执行文件位置

:echo neovim_rpc#serveraddr() 能显示服务器的IP地址

使用方法

在Insert模式下,直接输入文字就会弹出自动补全。然后用Ctrl+n和Ctrl+p上下选择。

Add Completion Source 添加补全源

一般如果没有安装任何源,则自动补全只会根据当前文件已有的名字进行猜测。这肯定不是我们要的。 我们要的效果是:根据语言的特性,补全引用自带库、第三方库的所有类、函数等。

[Python Source]

Deoplete的Python推荐使用deoplete-jedi 参考:zchee/deoplete-jedi

安装依赖:

Neovim and neovim/python-client

python-client: pynvim

pip2 install pynvim --user

pip3 install pynvim --user

jedi: pip install jedi --user

安装方法是利用vim-plug管理器:

Plug 'zchee/deoplete-jedi'

默认下,什么都不用配置,安装好后就可以很好的用起来了。

[C/C++ Source]

C/C++用的是deoplete-clangx插件,需要本机安装Clang轻量级C编译器支持。

依赖:

本机安装Clang

已经能正常使用deoplet

然后直接在插件管理器中加入安装即可:

Plug 'Shougo/deoplete-clangx'

更新

如果本机没有pip2和pip3的话,最方便的是用包管理器重新安装。

Mac上:

brew install python@2

brew reinstall python@2

Ubuntu上:

sudo apt-get install -y python-pip python3-pip

更新

如果以上这些都很难满足,那么是时候考虑重新编译VIM了。

如果是Mac的话,可以用brew install vim --with-cscope --with-python --with-lua --override-system-vim直接按照可选的语言支持编译vim。

测试可行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值