Windows 环境下为vim安装YouCompleteMe
2017-03-24 22:07
411 查看
下载YouCompleteMe
使用vundle的方式安装。按照 Vundle 在Windows上的安装指南,安装好git, 官方提供了一个Curl.cmd来保证Curl可以在Windows终端运行。然后
git clone将Vundle拉取到本地。
按照官方的 Quick Start ,同时参考简书 Sam_Lau的 Vim配置、插件和使用技巧 加入了
_vimrc.bundles文件。在gVim运行
:PluginInstall成功下载好了插件。当然直接参考官方把配置放到
_vimrc也可以。
编译和问题排查
之后经历了几个问题,排查花了一些时间。第一个问题:vim不能支持Python(实际上是不能发现python36.dll).
下载好各个插件之后,启动gVim,提示
YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support。
然而在gVim中执行
:version得到的是
+python/dyn和
+python3dyn,并且本地已经安装了python36-x32, gVim也是32位的,不符合初步搜索中的“确认python和gVim都是32或都是64位保持一致”的解决方案.
搜索了 StackOverflow, 进一步的验证发现
echo has('python')和
echo has('python3')都是0。这说明没有正确加载Python程序的dll。
测试
python3 print('hello')果然发现报错信息中提示,不能正确加载
python35.dll. 因为我本地安装的是python36-x32,所以自然找不到。尝试修改这一加载设置,无果。于是重新装了python35-x32,
echo has('python3')成功返回1. 第一个问题解决。
总结:
gVim程序提示不支持Python的一个原因可能是没有发现Python的dll。确保安装的Python和gVim都是64位或都是32位的,同时使用
python3 print('hello')看加载错误的提示信息来确定问题。
第二个问题:
之后,可以正常启动gVim,要编辑文件时提示YCM core library not detected:
The ycmd server SHUTDOWN. ...YCM core library not detected; you need to compile YCM before using it, 因为还没有开始编译YCM。
于是继续按照 YouCompleteMe项目Github主页的简易版安装指南 进行编译安装。
出现问题。再切换到完整安装指南
1. 检查vim版本和Python支持,OK。
2. 安装YCM, OK.
3. 对semantic completion 语义补全有需要的进行这一步,我直接先跳过。
4. 编译
ycm_core。 需要Visual Studio 2013(或以上版本)。 CMake的支持。(MSVC 12 (Visual Studio 2013), 14 (2015), and 15 (2017) are officially supported.)
建立一个ycm_build文件夹,命令行运行
cmake -G "Visual Studio 12" . ($*Path_To_YCM*)/YouCompleteMe/third_party/ycmd/cpp,这里的$Path_To_YCM是YCM文件夹路径, 按照自己的安装位置修改。本地安装了VS 2013,所以选择
"Visual Studio 12"。
运行结果提示
(missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS).
继续找问题,发现需要修改YCM文件夹下的CMakeLists.txt 。
option( USE_PYTHON2 "If on, link to Python 2 instead of 3" OFF ) set(PYTHON_INCLUDE_DIR "D:/Program Files (x86)/Python35-32/include") set(PYTHON_LIBRARY "D:/Program Files (x86)/Python35-32/libs/python35.lib")
由于我没有安装Python2,所以将原来
USE_PYTHON2的flag设置成了OFF,手动加入了
PYTHON_INCLUDE_DIR和
PYTHON_LIBRARY, 注意报错提示给的是
(missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS),末尾有字母
s, 然后再次运行,成功.
最后一步,运行
cmake --build . --target ycm_core --config Release, 第一次出问题,尝试将上一步重新Generate一次,再重新Build,结果成功。
至于语义补全,等有时间再研究一下。
几个相关链接:
1. Vim配置教程
2. 对解决缺失PythonLib有帮助
相关文章推荐
- vim 自动提示、自动补齐插件 YouCompleteMe for windows Gvim 安装及使用效果
- 如何在Windows下给Vim安装YouCompleteMe
- vim 自动提示、自动补齐插件 YouCompleteMe for windows Gvim 安装及使用效果
- vim 自动提示、自动补齐插件 YouCompleteMe for windows Gvim 安装及使用效果
- vim 自动提示、自动补齐插件 YouCompleteMe for windows Gvim 安装及使用
- Vim自动补全插件----YouCompleteMe安装与配置
- mac os上的vim自动补全插件YouCompleteMe的安装过程
- 【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
- CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置
- Vim智能补全插件YouCompleteMe安装
- Vim自动补全插件----YouCompleteMe安装与配置
- ubuntu 14.04 vim YoucompleteMe 代码自动补全工具安装
- vim 插件YouCompleteMe 简单安装使用
- ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
- Centos 7 安装 vim自动补全神器 YouCompleteMe
- 【转】Vim自动补全插件----YouCompleteMe安装与配置
- CentOS7 Vim自动补全插件----YouCompleteMe安装与配置
- Vim自动补全插件----YouCompleteMe安装与配置
- Vim自动补全插件----YouCompleteMe安装与配置
- Vim 自动补全插件 YouCompleteMe 安装与配置