vim编译安装+lua模块
vim编译安装+lua模块
使用背景:代码自动补全插件,需要安装lua模块
安装准备,首先下载安装vim所依赖的其它安装包,ncurses,lua,readline,vim
源码下载,编译安装
ncurses:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
readline:ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz
lua:http://www.lua.org/download.html
vim:ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
步骤1:
检查VIM是否安装lua模块,如果有+lua表示已安装lua
vim --version
如果没有安装先卸载vim,用gcc编译安装
rpm -qa | grep vim
yum remove vim*
yum remove vim vim-enhanced vim-common vim-minimal
步骤2:
lua相关网站
http://lua-users.org/wiki/LuaBinaries
http://luabinaries.sourceforge.net/download.html
lua下载地址
http://sourceforge.net/projects/luabinaries/files/5.3.2/Docs%20and%20Sources/lua-5.3.2_Sources.tar.gz
https://sourceforge.net/projects/luabinaries/files/5.3.2/Docs%20and%20Sources
https://sourceforge.net/projects/luabinaries/files/5.3.2/Docs%20and%20Sources/lua-5.3.2_Sources.zip
https://github.com/keplerproject/luarocks
http://keplerproject.github.io/luarocks/releases/
http://www.lua.org/download.html
vim相关网址
http://www.vim.org
vim下载
http://www.vim.org/download.php
http://www.vim.org/sources.php
ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
编译安装vim
http://vim.wikia.com/wiki/Building_Vim
开始安装vim及lua
1.安装lua
curl -R -O http://www.lua.org/ftp/lua-5.3.2.tar.gz
tar zxf lua-5.3.2.tar.gz
cd lua-5.3.2
vim lua-5.3.2/src/Makefile,修改110行,在行尾添加-lncurses
make linux test
make install
2.编译安装vim
wget -c ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tar zxvf lua-5.3.2_Sources.tar.gz
tar jxf vim-7.4.tar.bz2
cd vim74/
make distclean
./configure --enable-luainterp --enable-gui=no \
--without-x --enable-multibyte --prefix=/usr
./configure --prefix=/usr --with-features=huge --enable-rubyinterp --enable-pythoninterp --enable-luainterp --with-lua-prefix=/usr/local > error.log
使用该编译参数
./configure --with-features=huge \
--enable-cscope \
--enable-rubyinterp \
--enable-largefile \
--enable-multibyte \
--disable-netbeans \
--enable-luainterp \
--with-lua-prefix=/usr/local \
--enable-pythoninterp \
--enable-cscope -prefix=/usr
make && make install
一些安装错误
yum install lua-devel
提示缺少ncurses
yum -y install ncurses-devel
lua.c:80:31: error: readline/readline.h: No such file or directory
解决方法,安装readline-devel
yum -y install readline-devel
vim安装错误
make过程出现错误,vim74/src/if_lua.c:777:undefined reference to luaL_optlong。打开if_lua.c文件,定位到777行,将
long pos = luaL_optlong(L, 3, 0); //修改为
long pos = (long)luaL_optinteger(L, 3, 0);
vim编译安装+lua模块的更多相关文章
- Python3编译安装ssl模块问题
本文以Centos系统为例 1.确保linux系统中安装了ssl-devel包 2.编译安装ssl模块到Python3中 1.查看linux系统中是否安装了ssl-devel包 # 查看命令 rpm ...
- 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56
为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx vers ...
- linux 编译安装PHP模块
本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...
- Nginx编译安装第三方模块http_substitutions_filter_module2222
Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...
- Nginx编译安装第三方模块http_substitutions_filter_module
Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术 作者:rming 时间:-- . >>ngx_http_substitu ...
- swoole模块的编译安装:php编译安装swoole模块的代码
本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.下载swoole 1 wget ht ...
- 不重新编译安装php模块的方法
如果你有下面两种经历: 如果php通过源码安装(php7),如果后来需要开启某个自带模块(例如ldap,snmp等),通常需要重新编译. 另外一些安装php模块的经历,例如redis,swoole,y ...
- nginx编译安装新模块
nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 这里以安装第三方ngx_http_google_filter_module模块为例 下载第三方扩展模块ngx_ht ...
- nginx安装lua模块实现高并发
nginx安装lua扩展模块 1.下载安装LuaJIT-2.0.4.tar.gz wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar ...
随机推荐
- XP Mode 虛擬機器 for Windows 7
免驗證官方直接下載 官網 Download Windows Virtual PC XP Mode for Windows 7 性質 Windows 7 免費 / en 多國 繁體中文(Traditio ...
- ARM处理器简介
参考: http://www.arm.com/zh/products/processors/instruction-set-architectures/index.php 1.ARM核演变图 2.AR ...
- ECSHOP中ajax的调用原理
ECSHOP中ajax的调用原理 ecshop中ajax的调用原理. 1.首先ecshop是如何定义ajax对象的. ecshop中的ajax对象是在js/transport.js文件中定义的.里面是 ...
- UVa 11129 - An antiarithmetic permutation
题目大意:给一个正整数n,构造一个0...n-1的排列,使得这个排列的任何一个长度大于2的子序列都不为等差数列. 把序列按照奇偶位置分成两个序列,这样在两个序列间就不会形成等差数列了,然后再对这两个序 ...
- OSG世界坐标转屏幕坐标(转载)
OSG世界坐标转屏幕坐标 #define M(row,col) m[col * 4 + row] void Transform_Point(double out[4], const double m[ ...
- [项目回顾]基于Annotation与SpringAOP的缓存简单解决方案
前言: 由于项目的原因,需要对项目中大量访问多修改少的数据进行缓存并管理,为达到开发过程中通过Annotation简单的配置既可以完成对缓存的设置与更新的需求,故而设计的该简易的解决方案. 涉及技术: ...
- event.returnValue和return false的区别
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS 之 工厂模式
参考:http://www.jikexueyuan.com/course/2054_2.html?ss=2 1. 简单工厂 简单工厂类是一个实体类.用于几种相似类的统一创建,简化流程,隔离细节. 下面 ...
- QT第四天学习
回顾: 1.信号与槽 public slots: //先声明后实现 signals: //只需要声明 connect(sender,SIGNAL(signal()),receiver,SLOT(slo ...
- hcharts中文网 一个js图表库
http://www.bossidc.com/info/gongju/2013/0717/2133.html hcharts源码包下载 http://www.hcharts.cn/demo/hig ...