YCM 安装小记
2024-09-01 20:08:47
layout: post
title: YCM 安装小记
半夜,女朋友在那边抱怨购物车的物品秒无货,我这边刚好成功安装了vim上最难装的插件--YouCompleteMe,内心非常激动,于是本着取之于人,回馈于人的动机,把自己的一点心得分享出来:
卸载系统自带的vim\vi,下载vim源码
编译vim,需要很多第三方的库:比如python、lua、ruby、perl、ncurse等,如果需要什么去下什么,那太麻烦了,参看这个gist
如果不能访问请看下方附录使用Vundle安装vim插件,对应的YouCompleteMe插件在~/.vim/bundle/YouComleteMe/,先 git submodule update --init --recursive, 把必须的东西都下载了,运行install.py,看是不是装上了clang。
每次安装完,运行一下python run_test.py,看缺少什么了,clang是不是装上了(如果出现not using clang, c++ semantic ...,就是没装上)。
可能缺少的东西, 遇到问题多看看README.md:
cmake
python-dev
flake8
build-essential
gcc
g++...
最难装的clang-with-llvm, 一般有三种安装方式:
我的操作系统是Debian9- 直接源码安装--不推荐,看博客上一长串流程,第三方工具什么的;
- 安装预编译版--下载下来后如何部署也是个问题,一堆bin\include\share放到哪里;
- 通过YouCompleteMe的安装脚本安装--直接运行sudo python install.py
附录1
sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-common vim-gui-common
sudo apt-get build-dep vim-gnome
sudo apt-get install liblua5.1-dev luajit libluajit-5.1 python-dev ruby-dev libperl-dev libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev
sudo rm -rf /usr/local/share/vim
sudo rm /usr/bin/vim
sudo mkdir /usr/include/lua5.1/include
sudo mv /usr/include/lua5.1/*.h /usr/include/lua5.1/include/
sudo ln -s /usr/bin/luajit-2.0.0-beta9 /usr/bin/luajit
cd ~
git clone https://github.com/vim/vim
cd vim/src
make distclean
./configure --with-features=huge \
--enable-rubyinterp \
--enable-largefile \
--disable-netbeans \
--enable-pythoninterp \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-perlinterp \
--enable-luainterp \
--with-luajit \
--enable-gui=auto \
--enable-fail-if-missing \
--with-lua-prefix=/usr/include/lua5.1 \
--enable-cscope
make
sudo make install
附录2
最新文章
- UML学习---交互
- FineUI第十一天---布局概述
- zjuoj 3605 Find the Marble
- F12调试打开时,出现很多多余内容问题解决
- 360云盘、百度云、微云……为什么不出 OS X(Mac 端)应用呢?(用户少,开发成本高)(百度网盘Mac版2016.10.18横空出世)
- memcache的分布式算法(转)
- 匿名委托与Lambda表达式
- 简单介绍shell编程四剑客之awk
- css 修改svg图标的颜色(不修改fill)
- BM:EOS的创造者
- GPT(保护分区)解决办法
- Flutter的脚手架(Scaffold)
- Day15作业及默写
- Windows2008R2系统运行时间超过497天的bug
- docker容器资源配额控制
- 最短路径问题-Dijkstra
- Regenerate Script 重置脚本
- 以某课网日志分析为例 进入大数据 Spark SQL 的世界
- Shell语言系列之一:文件处理
- 塔防游戏 代码project as 分享
热门文章
- ZT:C/C++ 字符串与数字相互转换
- Oracle SQL Developer中查看解释计划Explain Plan的两种方法
- centOS7 设置mysql数据库外网可以访问
- node-vuecli 脚手架安装
- charles 入门配置(win10+vivoX20)(Charles一)
- python之cookie与session
- [LeetCode]152. 乘积最大子序列(DP)
- 关于px、pt、em、rem四个单位的解释
- Linux下rm操作误删恢复
- Mysql-Innodb : 从一个字节到整个数据库表了解物理存储结构和逻辑存储结构