打造一流编辑器vimplus
首先,已经安装过vim的需要检查是否开启了python解释器,vim --version | grep python,如果显示python前面是-号而不是+号,则需要重新编译安装才行。
1.编译安装vim之前,需要配置环境
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
2.配置编译选项
在github上下载vim源码,进入文件夹执行
./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-i386-linux-gnu/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope --enable-luainterp --enable-perlinterp --enable-multibyte --prefix=/usr (红色路径需要自己检查自己的python路径)
需要重新配置可 输入 make distclean
#清理一下上一次编译生成的所有文件
其中参数说明如下:
- --with-features=huge:支持最大特性
- --enable-rubyinterp:启用Vim对ruby编写的插件的支持
- --enable-pythoninterp:启用Vim对python编写的插件的支持
- --enable-luainterp:启用Vim对lua编写的插件的支持
- --enable-perlinterp:启用Vim对perl编写的插件的支持
- --enable-multibyte:多字节支持 可以在Vim中输入中文
- --enable-cscope:Vim对cscope支持
- --enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim
- --with-python-config-dir=/usr/lib/python2.7/config-i386-linux-gnu/ 指定 python 路径
- --prefix=/usr:编译安装路径
3.编译安装
sudo make VIMRUNTIMEDIR=/usr/share/vim/vim74
sudo make install
4.bug解决方法
已经安装过vim然后又删除重新编译安装的童鞋完成安装后打开vim可能会遇到下面的问题
Can't open file /usr/share/vim/vim73/syntax/syntax.vim
问题是两次vim版本不一样,而在.vimrc里面又启用了syntax on ;syntax enable这两行功能,两个版本实现这个功能进行索引的路径也不一样,我的方法是把新安装的vim在/usr/share/vim(有的是在/usr/local/share/vim)下面的对应版本比如vim80下面的syntax文件夹全部拷贝到上面指定索引的路径下面就好了。
所有配置编译属性的错,编译出现的错,安装出现的错,都要仔细检查最上面的配置环境是否都完成了
5.安装vimplus
git clone https://github.com/chxuan/vimplus.git
cd ./vimplus
sudo ./install.sh
6.安装airline需要的字体
https://github.com/powerline/fonts
按照提示安装即可
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- android功耗优化(2)--对齐唤醒
- Android 功耗(3)---高通功耗问题分析方法
- 搞定Java快速排序
- Android 功耗(4)---MTK平台待机功耗分析流程
- 使用iframe实现在pc端预览移动端页面的效果
- html+css实现彩色渐变滑动条
- 项目实战 01:将唐诗三百首写入 Elasticsearch 会发生什么?
- 装饰器和代理模式的区别,从一碗小米粥谈起
- EasyNVR部署在centos虚拟机上出现无法访问情况,该如何排查?
- RTSP协议网页无插件直播平台EasyNVR视频广场无法搜索纯数字关键词的通道,该如何解决的?
- RTSP协议网页无插件直播平台EasyNVR通道管理搜索纯数字关键词,返回结果为空如何解决?
- Mysql如何选择唯一索引和普通索引
- Python自学成才之路 多线程开发
- Mysql为什么会抖一下呢
- Python自学成才之路 线程间协作 lock,condition,event的使用