YouCompleteMe的安装
来源:互联网 发布:ibm云计算 编辑:程序博客网 时间:2024/04/30 12:01
YCM需要最新版本Vim(7.3.584)的支持,从代码编译Vim的方法看这里。
使用Vundle安装 youcompleteme后,需要先编译才能使用。
cd ~/.vim/bundle/YouCompleteMe
要在源码文件夹中 git submodule update --init --recursive
./install.sh --clang-completer
语意补全要正确工作,需要配置好.ycm_extra_conf.py文件,模板在这里。可以把这个文件放在项目的根目录下,打开项目文件时,YCM会循环向上搜索并加载这个文件,或者在vimrc文件中加入
let g:ycm_global_ycm_extra_conf = 'your path to .ycm_extra_conf.py'
如果.ycm_extra_conf.py中include path等配置没有问题,YCM已经可以工作了。
注意:
22.0 关于.ycm_extra_conf.py的修改
只需要修改flags标记,加入如下几项
'-isystem',
#apt-get install libc++ or change this value to libstdc++
'/usr/include/c++/4.4.7/',
'-isystem',
'/usr/include',
'-isystem',
'/usr/local/include',
'-I',
'/home/×××/',
这个文件的原型默认是在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
22.1 如果libstdc++的版本低于15就会出”在vim启动时SetUpPython“的问题,
可以通过在.bashrc中添加
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib64/"
来解决
因为更新版本的gcc会把新版本的 动态库 放到 /usr/local/lib64下面
通过命令 "#strings /usr/local/lib64/libstdc++.so.6.0.19|grep GLIBCXX“可以来验证
22.2 打开.c .cpp .py文件直接卡死 Freeze
在vimrc中增加 let g:loaded_youcompleteme=1 就可以了
YCM的配置参考:http://www.cnblogs.com/zhongcq/p/3630047.html
22.3 通过运行:ycmDebugInfo发现The ycmd server SHUT DOWN
然后看提示的log, 会显示RuntimeError: Error importing ycm_core. Are you sure you have placed a version 3.2+ libclang.[so|dll|dylib] in folder "/home/×××/.vim/bundle/YouCompleteMe/ third_party/ycmd"? See the Installation Guide in the docs. Full error: libedit.so.2: cannot open shared object file: No such file or directory
解决办法:
用install.sh安装的libclang的版本,显示是下载的libclang 3.5, 但是会引起Crash。
这个没搜到什么靠谱的办法,预测自己的版本肯定是偏低,拷贝了一个别人自己编译的libclang.so(也是在相同的位置)放到自己的目录/.vim/bundle/YouCompleteMe/third_party/ycmd下面,就OK了
另外,我也重编了clang,估计上面替代一下就好了:
cd ~
mkdir ycm_build
cd ycm_build
cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/cpp
cmake -G "Unix Makefiles" . -DPATH_TO_LLVM_ROOT=~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/llvm -DEXTERNAL_LIBCLANG_PATH=/data/home/renmiaojian/.vim/bundle/YouCompleteMe/third_party/ycmd/libclang.so ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
make ycm_core
make ycm_support_libs
22.4 如果系统内的libclang 的版本是比较低的
貌似是 低于3.3,需要重新编译出更新的clang.so.
参考:http://llvm.org/docs/GettingStarted.html#git-mirror
可以用Git下载,注意各个目录的位置。
22.5 修改timeout的值,有些编译很慢的文件会显示超时
.vim/bundle/YouCompleteMe/python/ycm/client/completion_request.py
默认0.5 可以改成2
23. 配合YCM的两个插件
一个很好的配置参考:http://www.cnblogs.com/zhongcq/p/3642794.html
23.1 syntastic
一款支持多语言的实时语法检查插件。在 syntastic 的作用下,编码中、编译前,所有语法错误都将被抓出来并 呈现给你。
- YouCompleteMe的安装
- youcompleteme的安装
- YouCompleteMe的安装和使用
- 安装vim的YouCompleteMe插件
- YouCompleteMe安装
- youcompleteme 安装
- youcompleteme安装
- 安装YouCompleteMe
- 安装YouCompleteMe
- YouCompleteme 安装
- YoucompleteMe安装
- Youcompleteme安装
- centos7下安装vim的YouCompleteMe插件
- [安装]Vim插件YouCompleteMe在mac下的安装
- Centos下安装YouCompleteMe
- 安装youcompleteme 问题
- YouCompleteMe插件安装
- 使用Vundle安装YouCompleteMe
- hibernate学习:一对一单向外键映射
- 定时器setTimeout的应用---延时提示框
- Oracle使用游标为所有用户表添加主键语句
- HDU 1505 City Game (最大子矩形面积)
- 矩阵顺时针旋转90°、180°、270°
- YouCompleteMe的安装
- 技术宅必读!科幻经典!“蒸汽朋克”圣经!人类的命运,将在术狂飙中走向何方?
- hibernate学习:一对一双向外键关联
- 件和规哦IPUIYui突然热让他维特认为
- JSON学习笔记
- Git配置SSH,并Push到GitHub上的相关流程
- pm_notifier 接收待机事件
- 《算法导论》笔记(8) 动态规划、贪心法、摊还分析 简述
- iOS开发-新浪微博自定义tabbar的实现