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 添加补全源
一般如果没有安装任何源,则自动补全只会根据当前文件已有的名字进行猜测。这肯定不是我们要的。
我们要的效果是:根据语言的特性,补全引用自带库、第三方库的所有类、函数等。
参考官方推荐的各语言的补全源:Completion Sources
[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。
测试可行
相关推荐
chaochao 2020-08-31
zhangpan 2020-06-11
csdmeb 2020-06-08
tugangkai 2020-05-27
chuckchen 2020-10-31
Will0 2020-10-12
Dreamhome 2020-10-09
xirongxudlut 2020-09-28
星辰大海的路上 2020-09-13
猪猪侠喜欢躲猫猫 2020-08-17
快递小可 2020-08-16
shengge0 2020-07-26
巩庆奎 2020-07-21
张文倩数据库学生 2020-07-19
xirongxudlut 2020-07-18
Ericbig 2020-07-18
kyelu 2020-07-09
liangzhouqu 2020-07-07