用了整整一天的时间终于成功的安装了k-vim,记录起来下次再安装就不会那么辛苦了。
一路下来真的是各种错误。
k-vim项目地址:
http://github.com/wklken/k-vim
废话不多说,进入正题:
环境:CentOS release 6.5 (Final)
一、升级Gcc
原来自带的是Gcc 4.4.7版本需要升级到4.8.2版本
升级之前需要先安装Gcc 4.4.7,这种过程叫做 自举
Terminal Command:
yum install gcc gcc+g++
yum install ncurses-devel
Terminal Command:
下载:Gcc 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
解压:tar -xf gcc-4.8.2.tar.gz
进入:cd gcc-4.8.2
运行:./contrib/download_prerequisites
创建:mkdir gcc-build-4.8.2;cd gcc-build-4.8.2
配置:../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
编译安装:make && make install
检查:gcc --version 看看是否是gcc 4.8.2
升级之前需要先安装Gcc 4.4.7,这种过程叫做 自举
Terminal Command:
yum install gcc gcc+g++ yum install ncurses-devel
Terminal Command:
下载:Gcc 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz 解压:tar -xf gcc-4.8.2.tar.gz 进入:cd gcc-4.8.2 运行:./contrib/download_prerequisites 创建:mkdir gcc-build-4.8.2;cd gcc-build-4.8.2 配置:../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib 编译安装:make && make install 检查:gcc --version 看看是否是gcc 4.8.2
更新库链接:
Terminal Command:
删除原来的:rm -rf /usr/lib/libstdc++.so.6 重新链接: ln -s /usr/local/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6 运行:strings /usr/lib/libstdc++.so.6 | grep GLIBC 看看有没有返回:GLIBCXX_3.4.15
二、升级Python
自带的版本2.6.6,需要升级到2.7.x,这里是安装Python 2.7.8
Terminal Command:
依赖:yum install zlib-devel openssl-devel sqlite-devel
下载:wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
解压:tar zxvf Python-2.7.8.tgz
进入:cd Python-2.7.8
配置:./configure --prefix=/usr/local/python
编译安装:make && make install
Terminal Command:
依赖:yum install zlib-devel openssl-devel sqlite-devel 下载:wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 解压:tar zxvf Python-2.7.8.tgz 进入:cd Python-2.7.8 配置:./configure --prefix=/usr/local/python 编译安装:make && make install
替换自带python:
Terminal Command:
mv /usr/bin/python /usr/bin/python2.6 ln -sf /usr/local/python/bin/python2.7 /usr/bin/python 检查:python --version 是否是2.7.8
修正yum:
Terminal Command:
vim /usr/bin/yum #!/usr/bin/python 修改为: #!/usr/bin/python2.6
三、升级vim
这个插件需要Vim 7.3.584,所以,如果vim版本太低,需要编译安装新版本。
安装7.4版本
安装之前先卸载自带的vim,如果有的话。
Terminal Command:
yum remove vim
这里只启用对python2.X的支持,就是这一句:--enable-pythoninterp
如果想开启Python3支持,则加上 --enable-python3interp=yes
这里路径很重要,错了就不会开启对python的支持
我这里是:/usr/local/python/lib/python2.7/ 参见 步骤2 升级python的内容
Terminal Command:
下载:ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 解压:tar xvf vim-7.4.tar.bz2 进入:cd vim74 配置:./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp \ --enable-pythoninterp \ --with-python-config-dir=/usr/local/python/lib/python2.7/config \ --enable-perlinterp \ --enable-luainterp \ --enable-gui=gtk2 --enable-cscope --prefix=/usr 编译:make VIMRUNTIMEDIR=/usr/share/vim/vim74 安装:make install 检查:vim --version|grep python 看看是否是7.4版本,接着看看是否有python出现,看看python有没有一个+号,有就成功了。
四、安装clang
CentOS默认没有安装,yum里面的版本太低,需要源码编译安装。
需要的版本最低是3.6.0
需要的版本最低是3.6.0
官方网址:
http://llvm.org/releases/download.html
需要下载5个源码包
LLVM source code
Clang source code
Clang Tools Extra source code
Compiler RT source code
LibC++ source code
下载地址:
1、http://llvm.org/releases/3.6.0/cfe-3.6.0.src.tar.xz 2、http://llvm.org/releases/3.6.0/llvm-3.6.0.src.tar.xz 3、http://llvm.org/releases/3.6.0/compiler-rt-3.6.0.src.tar.xz 4、http://llvm.org/releases/3.6.0/clang-tools-extra-3.6.0.src.tar.xz 5、http://llvm.org/releases/3.6.0/libcxx-3.6.0.src.tar.xz
下载之后解压:
Terminal Command:
mv cfe-3.6.0.src clang mv clang/ llvm-3.6.0.src/tools/ mv clang-tools-extra-3.6.0.src extra mv extra/ llvm-3.6.0.src/tools/clang/ mv compiler-rt-3.6.0.src compiler-rt mv compiler-rt llvm-3.6.0.src/projects/
创建目录 build-3.6 方便我们编译
Terminal Command:
mkdir build-3.6 cd build-3.6
配置:
../llvm-3.6.0.src/configure --enable-optimized --enable-targets=host-only
编译:
make -j4
是四个核心,量力而为啊 这一步很久
安装:
make install
检查:
clang --version
看看版本号
五、安装Cmake
Centos 默认不带,yum里的版本同样太低,还是源码编译安装
这里安装 3.1.3版本
官方网址:
http://www.cmake.org/download/
Terminal Command:
下载:http://www.cmake.org/files/v3.1/cmake-3.1.3.tar.gz 解压:tar zvf cmake-3.1.3.tar.gz 进入:cmake-3.1.3 配置:./configure --prefix=/usr/local/cmake 编译:make 安装:make install
添加环境变量
用vi在文件/etc/profile文件中增加变量,使其永久有效:
vim /etc/profile
在文件末尾追加以下两行代码:
PATH=/usr/local/cmake/bin:$PATH export PATH
然后执行以下操作:
source /etc/profile
检查:
cmake --version
六、安装 K-vim
先安装一些依赖:
Terminal Command:
yun install git
yum install python-devel
#安装
git clone https://github.com/wklken/k-vim.git
cd k-vim/
sh -x install.sh
Terminal Command:
yun install git yum install python-devel #安装 git clone https://github.com/wklken/k-vim.git cd k-vim/ sh -x install.sh
最后安装YouCompleteMe插件的时候可能会出现错误,那就需要手动编译安装了。
编译自动补全YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe ./install.sh --clang-completer --system-libclan
安装成功会显示:[100%] Built target ycm_support_libs
但有时候即便是这样,你还是会发现,自动补全不起作用,那么还有一招。
Terminal Command:
cmake -G "Unix Makefiles" . -DPATH_TO_LLVM_ROOT=~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/llvm -DEXTERNAL_LIBCLANG_PATH=/usr/local/src/build-3.6/Release+Asserts/lib/libclang.so ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp 对了 libclag.so的路径要换成你自己的 make ycm_core make ycm_support_libs
最后随便写个什么文件,你会发现有自动补全了,不会有任何错误提示,可以享受了。
2016-4-5 更新下ubuntu安装YouCompleteMe
安装以下依赖
apt-get install clang llvm python-dev libclang-dev
然后按照上面编译YouCompleteMe的方法就行
如果始终编译不过,可能是swap空间不够,或是根本没有,会出以下错误。
virtual memory exhausted: Cannot allocate memory
解决方法是加swap空间
dd if=/dev/zero of=/var/swap.img bs=1M count=1000 mkswap /var/swap.img swapon /var/swap.img chmod 600 /var/swap.img
设置开机启动
vim /etc/fstab
添加以下内容:
/var/swap.img none swap sw 0 0