红联Linux门户
Linux帮助

linux下编译安装vim7.4并安装clang_complete插件

发布时间:2016-08-17 11:06:41来源:乌合之众作者:solym@sohu.com
因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导致clang complete插件无法使用,所以需要自己进行编译一个支持python插件的版本。
 
1、准备工作
先下载vim7.4源码
#直接使用git克隆
git clone git clone https://github.com/vim/vim.git
#下载源码包
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tar -xjvf vim-7.4.tar.bz2
因为编译起还需要python-dev包的支持,所以先安装一下。
sudo apt install python-dev python3-dev
 
2、生成Makefile并编译
执行configure程序,生成Makefile文件
./configure --prefix=/home/xxx/programs/vim74 --enable-pythoninterp --enable-python3interp --enable-gui=no --enable-cscope --enable-multibyte --enable-fontset
生成Makefile成功后,执行make命令进行编译。编译完成之后,执行make install进行安装。
安装完成后可以进入/home/xxx/programs/vim74查看(安装目录是前面--prefix参数指定的)。
如果你之前已经使用apt安装了vim,可以将/usr/bin/vim这个软链接删除,然后再创建一个新的过去。
# 查看一下vim这个命令
$ ls -l /usr/bin/vim
lrwxrwxrwx 1 root root 21 8月  12 22:14 /usr/bin/vim -> /etc/alternatives/vim
# 修改这个软链接
sudo rm -f /usr/bin/vim
sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vim
# 如果你习惯用vi,也可以一并修改了
sudo rm -f /usr/bin/vi
sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vi
可以使用下面命令,简单的全修改掉
ls /home/xxx/programs/vim74/bin|xargs -I{} sudo rm /usr/bin/{}
ls /home/xxx/programs/vim74/bin|xargs -I{} sudo ln -s /home/o/program/vim74/bin/{}  /usr/bin/{}
 
3、安装clang complete插件
先去下载插件源码
git clone https://github.com/Rip-Rip/clang_complete.git
下载完成之后,进入源码目录,执行下面命令进行安装
make 
make install
安装完成后,可以测试一下。
可以输入::或者在类对象后输入.等,测试一下代码提示功能。
linux下编译安装vim7.4并安装clang_complete插件
测试一
linux下编译安装vim7.4并安装clang_complete插件
测试二
 
4、出现问题及解决办法
打开vim的时候出现如下提示
Loading libclang failed, completion won't be available. Consider setting g:clang_library_path.
这里需要先安装一下libclang
sudo apt install libclang-dev
安装完成之后,应该在/usr/lib/llvm-3.8/lib(因为我安装的是3.8版本的,也许你的是llvm-3.6/llvm-3.7等)目录下有libclang.so这个文件。
需要把这个路径,加入到clang_complete的配置文件中去。
vi ~/.vim/plugin/clang_complete.vim
#在ClangCompleteInit函数之前加入下面两句
let g:clang_use_library = 1
let g:clang_library_path = '/usr/lib/llvm-3.8/lib/libclang.so'
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23387.html