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

因为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

安装完成后,可以测试一下。

可以输入::或者在类对象后输入.等,测试一下代码提示功能。

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'

linux下编译安装vim7.4并安装clang_complete插件的更多相关文章

  1. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  2. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  3. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  4. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  5. Linux 下编译、安装、配置 QT

    转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...

  6. Linux下编译安装Apache及模块

    Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...

  7. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  8. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  9. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

随机推荐

  1. HTML和xhtml,CSS

    索引: 初学者入门书籍 高级进阶书籍 W3C官方手册 网站架构 移动平台网站开发 视频资源 开发工具 初学者入门书籍: 中文电子书    深入浅出html pdf中文版 魅丽的网页设计 JAVA WE ...

  2. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 密码强化、网络安全强化

    公司的系统庞大后,用户数量也庞大,容易引起各种网络安全相关问题,需要把每个用户的网络安全意识都提高,由于历史原因有些用户的密码过于简单,很容易被猜到,引起很多没必要的麻烦. 系统登录成功后,检查密码复 ...

  3. Spring WebService 和 搜索

    参考文章: http://blog.csdn.net/kkdelta/article/details/7290769 云计算中主流的Web服务有两种: 1.WebService.内容比较沉重,技术人员 ...

  4. JavaScript indexOf() 方法 和 lastIndexOf() 方法

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索. 语法: in ...

  5. Unity、Exception Handling引入MVP

    什么是MVP?在“MVP初探”里就有讲过了,就是一种UI的架构模式. 简单的描述一下Unity和Exception Handling Application Block: Unity是一个轻量级的可扩 ...

  6. VMware 设备VMnet0 上的网桥暂时关闭。此虚拟机无法与主机或网格中的其他计算机通信【转】

    今天克隆了一个win7的虚拟机,移动到我的本地.打开时发现虚拟机网格连接图标出现X断开连接,于是网上收了一堆答案无一个可用的,决定自己解决这个问题,解决过程如下: 1.报错图如下:设备VMnet0 上 ...

  7. C#基础系列——委托实现简单设计模式

    前言:上一篇介绍了下多线程的相关知识:C#基础系列——多线程的常见用法详解,里面就提到了委托变量.这篇简单介绍下委托的使用.当然啦,园子里面很多介绍委托的文章都会说道:委托和事件的概念就像一道坎,过了 ...

  8. JavaScript的理解记录(5)

    ---接上篇: 三.DOM解析: 1.Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Te ...

  9. 51nod DP 最大子段和

    #include<iostream> #include<algorithm> #include<cstdio> #define MAXN 50000 using n ...

  10. 一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK

    一.-100.01 的double 在内存中怎么存储的 double双精度数据类型存储格式IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f : 11 位偏置指数 e :以及 1 位 ...