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模块的更多相关文章

  1. Python3编译安装ssl模块问题

    本文以Centos系统为例 1.确保linux系统中安装了ssl-devel包 2.编译安装ssl模块到Python3中 1.查看linux系统中是否安装了ssl-devel包 # 查看命令 rpm ...

  2. 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56

    为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx vers ...

  3. linux 编译安装PHP模块

    本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html  linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...

  4. Nginx编译安装第三方模块http_substitutions_filter_module2222

    Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...

  5. Nginx编译安装第三方模块http_substitutions_filter_module

    Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术  作者:rming  时间:-- . >>ngx_http_substitu ...

  6. swoole模块的编译安装:php编译安装swoole模块的代码

    本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.下载swoole 1 wget ht ...

  7. 不重新编译安装php模块的方法

    如果你有下面两种经历: 如果php通过源码安装(php7),如果后来需要开启某个自带模块(例如ldap,snmp等),通常需要重新编译. 另外一些安装php模块的经历,例如redis,swoole,y ...

  8. nginx编译安装新模块

    nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 这里以安装第三方ngx_http_google_filter_module模块为例 下载第三方扩展模块ngx_ht ...

  9. nginx安装lua模块实现高并发

    nginx安装lua扩展模块 1.下载安装LuaJIT-2.0.4.tar.gz wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar ...

随机推荐

  1. IOS开发-ObjC-Category的使用

    在IOS移动App开发中,经常会出现以下情况:定义好了一个类,但后来需求升级或改变之后需要对这个类增加功能,这样的话往往需要修改类的结构,这样就会导致不能预期的问题产生,所以Obj-C提供了一种叫做C ...

  2. java 容器、二叉树操作、107

    二叉树本身固有的递归性质,通常可以用递归算法解决,虽然递归代码简介,但是性能不如非递归算法. 常用的操作是构建二叉树.遍历二叉树(先序.中序.后序.都属于DFS深度优先搜索算法,使用栈来实现),广度优 ...

  3. MySQL连接数据库报时区错误:java.sql.SQLException: The server time zone value

    连接MySQL数据库时报以下时区错误信息: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized ...

  4. CentOS 6.6下JDK1.7安装与配置(Linux)经典入门详解案例

    最近用的linux较多,在网站找了一些关于linux环境下jdk安装的教程,过程是有的但是好多细节都没有表现出来,所以我花了点时间总结了一下,希望对大家都有帮助... CentOS下JDK1.7安装与 ...

  5. HTTP Session学习

    session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的含义也很不相同.这里只探讨HTTP S ...

  6. animate动画被锁在队列中不动怎么解决

    [示例]: function scroll_to(obj){            $('html,body').animate({scrollTop:obj.position().top},700) ...

  7. js blob

    Blob 是什么? 这里说的是一种JavaScript的对象类型. Oracle 中也有类似的栏位类型. 在 [JS进阶] HTML5 之文件操作(file) 这一篇中用到了File对象,而实际上 f ...

  8. Java线程:条件变量、原子量、线程池等

    一.条件变量 条件变量实现了java.util.concurrent.locks.Condition接口,条件变量的实例化就是通过一个Lock对象上调用newCondition()方法获得的,这样条件 ...

  9. Spring EL中的类操作符

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://ww ...

  10. POJ2774(二分+哈希)

    Long Long Message Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 27234   Accepted: 11 ...