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

参考官网:Shougo/deoplete.nvim

注意:这里只讲怎么给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-8set 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' }
elsePlug '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+nCtrl+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编译器支持。

参考:Shougo/deoplete-clangx

依赖:

  • 本机安装Clang
  • 已经能正常使用deoplet

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

Plug 'Shougo/deoplete-clangx'

更新

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

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。

测试可行

VIM自动补全插件:deoplete相关推荐

  1. linux自动补全命令插件,vim自动补全插件snipMate

    linux下安装vim自动补全插件snipMate 环境:ubuntu 下载snipMate 官方网站:http://www.vim.org/scripts/script.php?script_id= ...

  2. vim 自动补全插件YCM 安装 配置

    vim 自动补全插件YCM 安装 配置 报错 NoExtraConfDetected: No .ycm_extra_conf.py file detected, so no compile flags ...

  3. 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)

    前言 本文写于2020年10月,如果你多年后看见这篇文章,方法可能已经失效,但是请牢记,尽量下载你所处时代的最新版本的软件,会减少很多麻烦. 摆正心态 即便按照本文操作,由于你的系统状态和我的不一样, ...

  4. Archlinux YouCompleteMe+syntastic vim自动补全插件,显示缩进和状态栏美化,爽心悦目的vim

    Archlinux 安装和配置vim补全插件YouCompleteMe的过程. 参考: https://github.com/Valloric/YouCompleteMe https://github ...

  5. vim自动补全插件:YouCompleteMe使用前需要做的准备工作随手记录

    随手记录一下安装YCM过程中遇到的事情 安装curl,安装方法如下: sudo apt-get install curl Vim下安装Vim Plug: curl -fLo ~/.vim/autolo ...

  6. contos 安装vim自动补全插件 YCM YouCompleteMe

    1.升级vim至vim8 rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch ...

  7. Bootstrap typeahead自动补全插件的坑

    ##Bootstrap typeahead 插件的坑 typeahead 自动补全插件, 还是先简单记录一下,如何使用吧: <div class="form-group"&g ...

  8. NovalIDE自动补全插件介绍。

    目前NovalIDE的自动补全插件已经更新到了1.2版本.版本支持的功能有: 1.支持Python脚本的补全,并且有相应的提示: 2.支持对其他语言脚本的补全. 以上两点可以获得类似付费的Sublim ...

  9. uni-app.07.自动补全插件input-autocomplete的使用

    自动补全插件input-autocomplete的使用 前言 input-autocomplete的使用 1.使用HBuilderX导入插件 2.运行示例项目 3.存在的问题 1).数据过渡曝光 2) ...

最新文章

  1. Python脚本BUG引发学界震动,影响有多大?
  2. anndroid ndk使用
  3. 无插件无 Flash HTML5 浏览器直接玩《Quake II》
  4. IT绩效管理消除IT与业务之间的隔阂
  5. LCD RGB 控制技术讲解 — 时钟篇(上)
  6. OIL + VCache如何改善Facebook视频延迟 并减少存储和计算开销?
  7. Leetcode016 3Sum Closest
  8. js异步解决方案 --- 回调函数 vs promise vs generater/yield vs async/await
  9. C++ 异常类型以及多级catch匹配
  10. python自制有声小说
  11. 理解Cookie,Session,Token
  12. 6.1.1.2 属性类型之访问器属性
  13. 软件测试自学指南---从入门到精通V1.0
  14. [转]最世界最牛人博客,你可以学习到太多太多`~~
  15. 【Python】判断多边形的形状为凸多边形还是凹多边形
  16. 工业相机和镜头基础知识(转载)
  17. 2023秋招大厂经典面试题及答案整理归纳(101-120)校招必看
  18. 蓝牙5最大速率分析报告
  19. krait和kryo_高效的Java序列化(Kryo和FST)
  20. 那些年我记下的一些编程错误

热门文章

  1. java_多线程_基于接口的多线程
  2. laravel authorize(授权)
  3. git查看一个文件的历史记录
  4. Win64 驱动内核编程-8.内核里的其他常用
  5. C语言经典例76-根据n的奇偶性累加
  6. 【Groovy】MOP 元对象协议与元编程 ( 方法合成 | 动态注入方法 )
  7. 【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
  8. 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )
  9. 【错误记录】Android NDK 错误排查记录 ( Could not get version from cmake.dir path ‘xxx\cmake\3.6.4111459‘. )
  10. 【计算理论】可判定性 ( 非确定性有限自动机的接受问题 | 证明 “非确定性有限自动机的接受问题“ 的可判定性 )