layout: post

title: YCM 安装小记

半夜,女朋友在那边抱怨购物车的物品秒无货,我这边刚好成功安装了vim上最难装的插件--YouCompleteMe,内心非常激动,于是本着取之于人,回馈于人的动机,把自己的一点心得分享出来:

  1. 卸载系统自带的vim\vi,下载vim源码

  2. 编译vim,需要很多第三方的库:比如python、lua、ruby、perl、ncurse等,如果需要什么去下什么,那太麻烦了,参看这个gist

    如果不能访问请看下方附录

  3. 使用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++

    ...

  4. 最难装的clang-with-llvm, 一般有三种安装方式:

    我的操作系统是Debian9

    1. 直接源码安装--不推荐,看博客上一长串流程,第三方工具什么的;
    2. 安装预编译版--下载下来后如何部署也是个问题,一堆bin\include\share放到哪里;
    3. 通过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

  1. http://apt.llvm.org/

最新文章

  1. UML学习---交互
  2. FineUI第十一天---布局概述
  3. zjuoj 3605 Find the Marble
  4. F12调试打开时,出现很多多余内容问题解决
  5. 360云盘、百度云、微云……为什么不出 OS X(Mac 端)应用呢?(用户少,开发成本高)(百度网盘Mac版2016.10.18横空出世)
  6. memcache的分布式算法(转)
  7. 匿名委托与Lambda表达式
  8. 简单介绍shell编程四剑客之awk
  9. css 修改svg图标的颜色(不修改fill)
  10. BM:EOS的创造者
  11. GPT(保护分区)解决办法
  12. Flutter的脚手架(Scaffold)
  13. Day15作业及默写
  14. Windows2008R2系统运行时间超过497天的bug
  15. docker容器资源配额控制
  16. 最短路径问题-Dijkstra
  17. Regenerate Script 重置脚本
  18. 以某课网日志分析为例 进入大数据 Spark SQL 的世界
  19. Shell语言系列之一:文件处理
  20. 塔防游戏 代码project as 分享

热门文章

  1. ZT:C/C++ 字符串与数字相互转换
  2. Oracle SQL Developer中查看解释计划Explain Plan的两种方法
  3. centOS7 设置mysql数据库外网可以访问
  4. node-vuecli 脚手架安装
  5. charles 入门配置(win10+vivoX20)(Charles一)
  6. python之cookie与session
  7. [LeetCode]152. 乘积最大子序列(DP)
  8. 关于px、pt、em、rem四个单位的解释
  9. Linux下rm操作误删恢复
  10. Mysql-Innodb : 从一个字节到整个数据库表了解物理存储结构和逻辑存储结构