linux下编译安装vim7.4并安装clang_complete插件
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插件的更多相关文章
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 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 ...
- Linux 下编译、安装、配置 QT
转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...
- Linux下编译安装Apache及模块
Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...
- Linux下编译安装qemu和libvirt
目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 ...
- linux下编译安装nginx
1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf ...
- Linux下编译安装qemu和libvirt【转】
转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...
随机推荐
- Objective C中的ARC的修饰符的使用---- 学习笔记九
#import <Foundation/Foundation.h> @interface Test : NSObject /** * 默认的就是__strong,这里只是做示范,实际使用时 ...
- Java并发编程:深入剖析ThreadLocal
原文出处: 海 子 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理解,然后根据Threa ...
- C# ASP.NET 优化程序性能、降低内存使用、提高程序运行速度
首先纪念一下今天的股票大跌抓个图,虽然我自己损失不是很大,但是应该大多人都损失不小.也可能有人会继续跳楼,也可能是股市一个新的转折点来了. 接着还是重点关注自己写代码优化的主题吧.软件系统当访问量不大 ...
- 用CSS正确显示人民币符号的HTML转义字符
做电子商务的难免要跟钱打交道,特别是跟人民币接触更多,但人民币符号长什么样呢,是¥还是¥?糊涂了吧^~^,要知道答案很简单,找出一张新的一百元大钞,在背面看看那个防伪的银线,上面就有. 我们做网页时要 ...
- 51Nod-1279 扔盘子
51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1279 1279 扔盘子 题目来源: Codility 基 ...
- Matplotlib 学习笔记
注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...
- chkdsk磁盘修复命令工具怎么用,怎样运行chkdsk工具修复?
Chkdsk是系统检查磁盘当前状态的一个命令,启动它可以显示磁盘状态.内存状态和指定路径下指定文件的不连续数目.选择“开始→运行”输入“Chkdsk”回车,即可启动Chkdsk,它会自动校验文件并将丢 ...
- Python操作Mysql之基本操作
pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...
- <<< 判断提交方式是get还是post
if("GET".equals(request.getMethod())){ System.out.println("提交方式是GET"); }else if( ...
- Nodejs - 如何用 eventproxy 模块控制并发
本文目标 本文的目标是获取 ZOJ 1001-1010 每道题 best solution 的作者 id,取得数据后一次性输出在控制台. 前文 如何用 Nodejs 分析一个简单页面 我们讲了如何用 ...