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

因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导致clang complete插件无法使用,所以需要自己进行编译一个支持python插件的版本。

1、准备工作

先下载vim7.4源码

  1. #直接使用git克隆
  2. git clone git clone https://github.com/vim/vim.git
  3. #下载源码包
  4. wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
  5. tar -xjvf vim-7.4.tar.bz2

因为编译起还需要python-dev包的支持,所以先安装一下。

  1. sudo apt install python-dev python3-dev

2、生成Makefile并编译

执行configure程序,生成Makefile文件

  1. ./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这个软链接删除,然后再创建一个新的过去。

  1. # 查看一下vim这个命令
  2. $ ls -l /usr/bin/vim
  3. lrwxrwxrwx 1 root root 21 8 12 22:14 /usr/bin/vim -> /etc/alternatives/vim
  4. # 修改这个软链接
  5. sudo rm -f /usr/bin/vim
  6. sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vim
  7. # 如果你习惯用vi,也可以一并修改了
  8. sudo rm -f /usr/bin/vi
  9. sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vi

可以使用下面命令,简单的全修改掉

  1. ls /home/xxx/programs/vim74/bin|xargs -I{} sudo rm /usr/bin/{}
  2. ls /home/xxx/programs/vim74/bin|xargs -I{} sudo ln -s /home/o/program/vim74/bin/{} /usr/bin/{}

3、安装clang complete插件

先去下载插件源码

  1. git clone https://github.com/Rip-Rip/clang_complete.git

下载完成之后,进入源码目录,执行下面命令进行安装

  1. make
  2. make install

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

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

4、出现问题及解决办法

打开vim的时候出现如下提示

Loading libclang failed, completion won't be available. Consider setting g:clang_library_path.

这里需要先安装一下libclang

  1. sudo apt install libclang-dev

安装完成之后,应该在/usr/lib/llvm-3.8/lib(因为我安装的是3.8版本的,也许你的是llvm-3.6/llvm-3.7等)目录下有libclang.so这个文件。

需要把这个路径,加入到clang_complete的配置文件中去。

  1. vi ~/.vim/plugin/clang_complete.vim
  2. #在ClangCompleteInit函数之前加入下面两句
  3. let g:clang_use_library = 1
  4. 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. [2016湖南长沙培训Day4][前鬼后鬼的守护 chen] (动态开点线段树+中位数 or 动规 or 贪心+堆优化)

    题目大意 给定一个长度为n的正整数序列,令修改一个数的代价为修改前后两个数的绝对值之差,求用最小代价将序列转换为不减序列. 其中,n满足小于500000,序列中的正整数小于10^9 题解(引自mzx神 ...

  2. IO(二)----字符流

    计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符层次的编码和解码. 常见的码表 ASC ...

  3. ajax返回值中有回车换行、空格的解决方法分享

    最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了.后来发现所有alert出来的返回值前面都会加若干换行和空格.(至今不明白,同一台电脑,同 ...

  4. LeetCode:N-Queens I II(n皇后问题)

    N-Queens The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no tw ...

  5. WPF实现Twitter按钮效果

    最近上网看到这个CSS3实现的Twitter按钮,感觉很漂亮,于是想用WPF来实现下. 实现这个效果,参考了CSS3 原文地址:http://www.html5tricks.com/css3-twit ...

  6. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  7. 77 swapoff-关闭系统交换区

    Linux swapoff命令用于关闭系统交换区(swap area). swapoff实际上为swapon的符号连接,可用来关闭系统的交换区. 语法 swapoff [设备] 参数: -a 将/et ...

  8. java中hashcode()和equals()的详解

    今天下午研究了半天hashcode()和equals()方法,终于有了一点点的明白,写下来与大家分享(zhaoxudong 2008.10.23晚21.36). 1. 首先equals()和hashc ...

  9. 【USACO 3.1】Score Inflation(完全背包)

    完全背包. http://train.usaco.org/usacoprob2?a=3Srffjlf4QI&S=inflate /* TASK:inflate LANG:C++ URL: */ ...

  10. spring-Formatter(格式化器)-validator(验证器)-错误信息定制

    项目结构