Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)
使用 PulginInstall 安装就不要想了,如果你没有梯子的话
自己的 ssr 被封,使用的同事的 ss,但是同事设置的加密方式在 linux 上的 ss 应用不支持...
好吧,直接上过程
1. 首先先获取 YouCompleteMe 的代码
cd ~/.vim/bundle # 拉取 YouCompleteMe 项目代码
git clone https://github.com/ycm-core/YouCompleteMe.git # 进入目录
cd YouCompleteMe # 安装子模块
git submodule update --init --recursive
这里安装子模块会出现
fatal: unable to access 'https://go.googlesource.com/tools/': Failed to connect to go.googlesource.com port : 连接超时
fatal: 无法克隆 'https://go.googlesource.com/tools' 到子模组路径 '/home/zyj/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools'
原因 go.googlesource.com 域名国内无法直接访问,这时候根据 后面的路径 /home/zyj/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools 来知道该模块是要放这个路径下的
到 github 上找到该模块下载到该路径
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x git clone https://github.com/golang/tools.git
回到 YouComplateMe 目录继续安装其他子模块
cd ~/.vim/bundle/YouCompleteMe # 继续子模块的安装
git submodule update --init --recursive
2. 去一个你喜欢的目录,例如用户主目录
cd ~ # 创建一个目录用来存放接下来要编译的代码的目录
mkdir ~/.ycm_build # 进入目录
cd ~/.ycm_build # 编译输出到当前目录(.ycm_build)
cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
2.1 如果需要实用 C 语言家族的相关功能(我这里系统自带 llvm 3.8、clang 3.8、libclang 没有、libboost-all-dev 没有),不需要则直接跳过 2.1
sudo apt install llvm-3.9 clang-3.9 libclang-3.9-dev libboost-all-dev
2.2 编译 YouComplateMe
# 跳过了 2.1 执行
cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp # 执行了 2.1 请执行
cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
可以看到 ~/.ycm_build 目录下结构( 我没有跳过 2.1,如果你跳过了说不定有不一样的,只要编译过程中没有报错就没有问题 )
# zsh 下 l 等于 bash 下的 ls -al
l ~/.ycm_build
总用量 72K
drwxr-xr-x zyj zyj .0K 7月 : .
drwxr-xr-x zyj zyj .0K 7月 : ..
drwxr-xr-x zyj zyj .0K 7月 : BoostParts
-rw-r--r-- zyj zyj 18K 7月 : CMakeCache.txt
drwxr-xr-x zyj zyj .0K 7月 : CMakeFiles
-rw-r--r-- zyj zyj .6K 7月 : cmake_install.cmake
-rw-r--r-- zyj zyj 19K 7月 : compile_commands.json
-rw-r--r-- zyj zyj .1K 7月 : Makefile
drwxr-xr-x zyj zyj .0K 7月 : ycm
2.3 上面 2.2 只是构建了中间编译,下面执行最终编译
# 如果你不是 window 系统,可以将 --config Release 去掉
cmake --build . --target ycm_core --config Release
编译过程如下:
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/Character.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/CharacterRepository.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangCompleter.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangHelpers.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangUtils.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompilationDatabase.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompletionData.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Documentation.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Range.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnit.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnitStore.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePoint.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePointRepository.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/Word.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o
[ %] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o
[%] Linking CXX shared library /home/zyj/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so
[%] Built target ycm_core
随后讲编译后文件放到你想要放入的目录
cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
随后在将 python 和 写入到 ~/.vimrc 中,在文件中位置你随意就好
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
然后尝试写个文件吧
vim hello.c # 报了如下错误,但是按任意键后依然进入编辑器了,但是 ycm 并不生效
YouCompleteMe unavailable: requires Vim compiled with Python (2.7.+ or 3.4+) support.
YouCompleteMe unavailable: unable to load Python.
在 YouComplate 的 github issue 上找到了解决方法,原理我也不知道
sudo apt install vim-gtk
随后就好了,再次进入编辑没有报错提示,YCM 也正常生效了

现在,愉快的开始你的代码吧!
参考:https://www.jianshu.com/p/d908ce81017a?nomobile=yes
Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)的更多相关文章
- CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置
备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...
- 【转】Vim自动补全插件----YouCompleteMe安装与配置
原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...
- Vim自动补全插件----YouCompleteMe安装与配置
Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...
- vim 智能提示插件 YouCompleteMe安装
按照网上的教程安装该软件,没有一篇是成功的(也有可能是没找对).自己从网上东拼西凑的,终于让自己的vim智能识别了. 1. 升级 vim: (ubuntu) sudo add-apt-reposito ...
- CentOS7 Vim自动补全插件----YouCompleteMe安装与配置
最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...
- vim的编译安装及其插件YouCompleteMe安装
相关的环境: win 7 x64 vs2013 community python 2.7.10 AMD64 python 3.5 AMD64 LLVM 3.5 cmake 3.5 YouCompl ...
- vim插件YouCompleteMe安装
这里在ubuntu16.4下安装的需要提前安装cmake clang python3sudo apt-get install clang 因为不能访问google,安装时,安装go的插件会访问goo ...
- Vim+Vundle+YouCompleteMe 安装
这段时间在Centos 7上开发c++程序,想为vim安装YouCompleteMe插件,参照几个博客无果,果断上官网找解决方案.功夫不负苦心人,终于搞定. 学习东西还是要多上官网. 下面送上本次的收 ...
- Linux FFmpeg(含x264、lame插件)安装记录
What is FFmpeg? FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它提供了录制.转换以及流化音视频的完整解决方案. What is x264? H. ...
随机推荐
- echarts 有关饼形图和map的使用技巧1(饼图)
http://blog.csdn.net/yhn1121/article/details/52041742 先上个链接,百度无意间搜到的,写得比我全面,可以直接飞去看它: 之前写网页用过echarts ...
- vue-cli构建一个工程
使用前,必须要先按照 node:安装node Vue CLI官方文档:https://cli.vuejs.org/zh/ 安装node地址:https://nodejs.org/zh-cn/downl ...
- java学期总结
第一周https://www.cnblogs.com/sqhe2000/p/11482760.html. 第二周https://www.cnblogs.com/sqhe2000/p/11521023. ...
- 第3周Java编程总结
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个“水仙花数”. 2. 编写Java程序,求13-23+33-43+…+973-983+ ...
- tensorflow实现LeNet-5模型
网络结构如下: INPUT: [28x28x1] weights: 0 CONV5-32: [28x28x32] weights: (5*5*1+1)*32 POOL2: [14x14x32] wei ...
- centos7 搭建测试环境
1. 下载JDK8 地址:https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk ...
- 线程池的管理类MyThreadPoolManager
import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Executor; import java.ut ...
- Selenium-WebDriverApi接口
webdriver获取元素的18种方式: 1.单数模式8 种 id定位模式 element = driver.find_element_by_id('i1') element.send_keys('U ...
- nodejs之express静态路由、ejs
1.静态路由与ejs使用 /** *1.安装ejs npm install ejs --save-dev * *2.express 里面使用ejs ,安装以后就可以用,不需要引入 * *3.配置exp ...
- 使用zipkin2在SpringCloud2.0环境下追踪服务调用情况
1.目的: 使用zipkin2.0在Spring Cloud 2.0环境下,追踪服务调用情况. 2.所需组件: zipkin2.0,Spring Cloud 2.0,Eureka Server,Eur ...