其他分享
首页 > 其他分享> > mac vim 安装 YouCompleteMe 插件自动补全

mac vim 安装 YouCompleteMe 插件自动补全

作者:互联网

前言

笔者常用vim进行c/c++/go开发,虽说vim也有自带自动补全(control+n,control+p),不过操作上还是比较麻烦,笔者希望可以实现,输入部分单词可以直接弹出下拉框提示所有可能的单词。网上一搜,发现大家都在强推YouCompleteMe,今天跟着官网教程尝试安装了一把,也踩了几个坑,记录下来,希望对大家有所帮助。

先附上官网链接:

https://github.com/ycm-core/YouCompleteMe#installation

官网写的很清楚了,直接上截图

下面具体操作:

一、安装vundle

vundle是vim插件管理器,可以方便的进行插件的安装和移除

vundle官网链接:

https://github.com/VundleVim/Vundle.vim#about

直接把安装和配置过程里面关键的步骤贴出来了,其实我们这儿目前只需要第二步即git clone下载vundle源码,后面的步骤都是教你怎么利用vundle安装vim的插件的,后面基于vundle安装youcompleteme插件的时候,要知道怎么配置vundle,等到安装youcompleteme插件的时候再看配置过程。

二、安装必备库

brew安装cmake python mono go nodejs

三、安装vim

这里非常坑,youcompleteme要求必须支持python3.6的vim,下面这个命令可以查看vim是否支持python3.6

vim --version | grep python

带+的就是支持:

推荐brew重新下载一个,不用系统自带的vim

但是仅仅用官网给出来的下面这个命令,搞完之后,在第五步插件安装的时候会报错(vim不支持python3.6)

brew install vim

百度了一下,看大家都是在install vim的时候指定python3支持,但这种方法已经过时了,从Homebrew的1.6.0(2018-04-09)版本开始,默认的python版本就是3,而且实操输入下面的命令,会报错,不支持的flag

brew install vim --with-python3

后来在参考文献里面找到了解法,仅当python --version为版本3时,brew install vim才会安装具有python3支持的vim,不然默认是支持python2的vim。正确安装步骤走一波:

alias python=python3
brew install vim
vim --version|grep python
unalias python

参考:

https://qastack.cn/superuser/1115159/how-do-i-install-vim-on-osx-with-python-3-support

四、编译YouCompleteMe

官方推荐下面一键傻瓜式编译(需要sudo权限):

cd ~/.vim/bundle/YouCompleteMe
python3 install.py --all

也可以根据需要支持的语言进行自定义编译:

翻译成脚本就是

cd ~/.vim/bundle/YouCompleteMe
python3 install.py --cs-completer      # support C#
python3 install.py --go-completer      # support go
python3 install.py --ts-completer      # support JavaScript and TypeScript 
python3 install.py --rust-completer    # support rust
python3 install.py --java-completer    # support java
python3 install.py --clangd-completer  # support C++/C

五、vundle配置YouCompleteMe

先贴一下第一步里面的截图

配置过程其实也很简单,直接在自己的~/.vimrc配置里面复制粘贴上官网里面的一段话,需要注意的是,需要安装的插件必须位于 call vundle#begin()和 call vundle#end() 之间,第一步里面的截图中,官网只是给了几个插件的安装,我们不需要的话可以直接去掉这几个插件,然后补充自己需要的插件(youcompleteme)

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

然后直接:PluginInstall即可安装配置中的插件,如果遇到下面的错误,请自行查找第三步

YouCompleteMe unavailable: requires Vim compiled with Python (3.6.0+) support

标签:插件,补全,YouCompleteMe,--,vundle,vim,install,python3
来源: https://blog.csdn.net/li1914309758/article/details/116128214