文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

VIM自动补全插件:deoplete

2023-01-31 08:21

关注
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-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+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。

测试可行

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯