VIM安装YouCompleteMe
前言
前一阵子一直在折腾YouCompleteMe这个插件,在Mac、Ubuntu、Windows上都试过,全部安装成功,其中 windows最费劲,今天也写出来,希望有跟我同样需要的人也可以少走弯路,少浪费点时间在环境配置上。
安装VIM
windows

Linux/MacOS
Mac、Linux上的也建议重新安装vim,自带的vim大概率不支持python,Mac用brew命令安装:
brew install vim # 需要先安装brew工具,网上教程很多
Linux用命令行安装的方法就不写出来了,不同的Linux版本安装命令也不同,搜索一下就出来了。
确定当前的vim是否支持python
如果不确定现在安装的vim是否支持python,可以用如下命令查看:
vim --version
下载Python
Mac、Linux下暂未遇到python3版本的问题,只要安装python3和python3-dev即可。
sudo apt-get install python3 python3-dev
<ESC>:python3 print("1")
<ESC>:python3 print("1")
下载YouCompleteMe插能件
八仙过海各显神通吧,有的朋友用Vundle之类的插件管理工具,也都能下下来,但是我不想连Vundle教程一并写了,网上教程一大堆。不过这里还是说下Vundle中的配置,如下:
Plugin 'Valloric/YouCompleteMe'
git clone https://github.com/ycm-core/YouCompleteMe.git
git submodule update --init --recursive
安装cmake
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
装好之后,用管理员权限启动命令行,执行如下指令就可以安装cmake了
choco install -y cmake
windows下装完后记得配置环境变量,用choco命令安装会装在C:\Program Files\CMake文件夹下。把C:\Program Files\CMake\bin加到path中,这里就不再详述了(这个博主太懒了)。
编译器
编译安装
用命令行打开YouCompleteMe文件夹,执行如下命令安装对C/C++的支持:
python3 install.py --clangd-completer
install.py --help
最后,到这里就已经可以启动YouCompleteMe这个插件了,但是启动之后会爆错,我们还需要安装python3的pathtools插件,命令如下:
pip3 install pathtools
如果启动的时候提示vim版本过低,就需要重新安装vim到高版本,windows上如上面所说的可以通过vim-win32-installer下载新版本,ubuntu需要执行以下命令,添加vim的软件源后再安装:
sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim
之后应该就可以完美启动了。
安装YCM-Generator
Plugin 'rdnetto/YCM-Generator'
这个插件只要下下来就可以了,不需要编译。
Attention!!目前这个插件不支持windows!!那么windows上要怎么生成.ycm_extra_conf.py呢?可以从linux上自行拷贝一份后修改。
个人建议,vim还是放在linux和Mac上用就好,windows可以寻找其他替代方案。
配置
YouCompleteMe和YCM-Generator都需要配置,下面展示我自己用的配置,可以参考下:
"YCM 自动补全设置 "let g:ycm_key_invoke_completion = '
' set completeopt-=preview "关闭preview窗口 "启用基于语义的自动补全 "let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎 let g:ycm_error_symbol = '✗' let g:ycm_warning_symbol = '⚠' let g:ycm_semantic_triggers = { \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'], \ 'cs,lua,javascript': ['re!\w{2}'] \ } "设置白名单文件 let g:ycm_filetype_whitelist = { \ "c":1, \ "cpp":1, \ "sh":1, \ "py":1 \ } "修改提示框颜色 "highlight Pmenu ctermfg=4 ctermbg=8 guifg=#ffffff guibg=#000000 "提示不再是粉红色(pink) highlight PMenu ctermfg=yellow ctermbg=darkgrey guifg=#ffffff guibg=#000000 highlight PMenuSel ctermfg=white ctermbg=black guifg=#000000 guibg=#ffffff "声明、定义跳转 nnoremap
:YcmCompleter GoToDefinitionElseDeclaration
nnoremap
:YcmForceCompileAndDiagnostics
"YCM-Generator配置 nnoremap
:YcmGenerateConfig ./
"更新.ycm_extra_conf.py文件
该配置的快捷键如下:
| 快捷键 | 功能 |
|---|---|
| Ctrl + z | 唤醒补全,如果没有跳出补全框可以用这个快捷键调用 |
| Ctrl + u | 切换到声明/定义 |
| F5 | 通过重编译代码,更新代码中的错误提示信息 |
| Ctrl + y | 更新项目下的.ycm_extra_conf.py文件 |
结束
如果文章有帮到你,请帮我点个小小的赞。哪里有问题或者看不懂的可以留言或者私信,我一定第一时间回复,谢谢?。
附
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215676.html原文链接:https://javaforall.net
