type
status
date
slug
summary
tags
category
icon
password
comment_flag
SLUGS
上一篇文章《Windows编译安装Vim/Gvim》是以安装ycm为目的而写的。ycm在vim插件中极为难装,在linux下就已经很难折腾了,更别说windows下安装这插件,安装错误真是多如牛毛。为什么非得安装ycm?对于本人来说,vim没有强大的插件,就变得和记事本一样,而ycm是vim强大插件之一。
由于网上关于windows下安装ycm的资料浩如烟海,即使本人一一尝试,本人并未找出最简洁的安装方案,所以以下部分操作可能是不必要的,希望能帮忙指出。
注:本文的某些软件版本已不是最新版,但大体方法可变通适用!
本文环境:
- Visual Studio 2017
- Git
- Python3.6.5
- clang
- Cmake
编译环境部署
- Visual Studio 2017安装:官网https://visualstudio.microsoft.com/zh-hans/downloads/下载安装Visual Studio 2017,并安装
使用C++的桌面开发
支持。
- Git和Python3.6.5的安装这已在上一篇文章中提及。
- clang安装:在http://releases.llvm.org/download.html下载新版的Pre-Built Binaries包:
Clang for Windows (64-bit) (.sig)
得到LLVM-5.0.2-win64.exe
打开安装,勾选添加到系统变量中。本文安装路径为E:\DevelopTools\LLVMCLANG\LLVM
- cmake安装:在https://cmake.org/download/下载
cmake-3.12.0-rc1-win64-x64.msi
,打开安装即可。
下载ycm
在
E:\DevelopTools\Vim\vimfiles\bundle
下右键Git Bash here
然后执行:等待下载完成。
编译ycm
在YouCompleteMe创建build文件夹。
打开Cmake-Gui,填写如下:
Where is the source code:
E:/DevelopTools/Vim/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp
Where to build the binaries:E:/DevelopTools/Vim/vimfiles/bundle/YouCompleteMe/build
选中Advanced。
点击configure,切换成Visual Studio 15 Win64
。
然后一般会报错(未报错就当报错处理),去掉USER_PYTHON2
,再Configure。
修改PYTHON_LIBRARY
的value值:E:/DevelopTools/python36/libs/python36.lib
为你的Python3下的python36.lib
。
再勾选USE_CLANG_COMPLETER
,修改PATH_TO_LLVM_ROOT
的值:E:\DevelopTools\LLVMCLANG\LLVM
为你的clang安装路径,需保证该路径下含有bin、include、lib...
继续Configure,直到没有报错,然后Generate。
出现NOT using clang-tidy for static analysis
可以不管。(目前不知是何原因)注:切记切换成Visual Studio 1x x64,不要使用默认的win32
安装ycm
然后使用cmd并cd到
E:/DevelopTools/Vim/vimfiles/bundle/YouCompleteMe/build
,执行:如果LLVM以及MinGW在Path中,可以不做下面这一步:
然后 将E:\DevelopTools\msys2\mingw64\bin\libstdc++-6.dll、E:\DevelopTools\msys2\mingw64\bin\libwinpthread-1.dll、E:\DevelopTools\msys2\mingw64\bin\libgcc_s_seh-1.dll、E:\DevelopTools\LLVMCLANG\LLVM\bin\libclang.dll拷贝到YouCompleteMe/third_party/ycmd。
配置ycm
将:\DevelopTools\Vim\vimfiles\bundle\YouCompleteMe\third_party\ycmd\examples\.ycm_extra_conf.py复制到%USERPROFILE%系统用户目录C:\Users\Julian
在用户目录的_vimrc中添加:
这样打开vim编写一个
*.c
c语言文件,有自动补全,但貌似不完整,比如说:#include<stdi
被输入时,并不弹出stdio.h
补全。解决方案:
修改用户目录下的.ycm_extra_conf.py
,在flags=[
里添加关于
.ycm_extra_conf.py
脚本配置可参考: