1. ncurses 安装

官网下载:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz

CSDN 下载:http://download.csdn.net/detail/spch2008/8828779

tar -xf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
sudo make install

2. lua 安装  

官方网下载:http://www.lua.org/download.html

CSDN 下载:http://download.csdn.net/detail/spch2008/8828787

tar -xf lua-5.3.1.tar.gz
cd lua-5.3.1
make linux
sudo make install

问题一:

error: readline/readline.h: No such file or directory

下载readline

CSDN下载:http://download.csdn.net/detail/spch2008/8828777

cd readline-5.2
./configure
sudo make
sudo make install

问题二:

//usr/local/lib/libreadline.so: undefined reference to `tputs'
//usr/local/lib/libreadline.so: undefined reference to `tgoto'
//usr/local/lib/libreadline.so: undefined reference to `tgetflag'
//usr/local/lib/libreadline.so: undefined reference to `UP'
//usr/local/lib/libreadline.so: undefined reference to `tgetent'
//usr/local/lib/libreadline.so: undefined reference to `tgetnum'
//usr/local/lib/libreadline.so: undefined reference to `PC'
//usr/local/lib/libreadline.so: undefined reference to `tgetstr'
//usr/local/lib/libreadline.so: undefined reference to `BC'
collect2: error: ld returned 1 exit status

添加 -lncurses 参数

/home/spch2008/lua-5.3.1/src/Makefile

linux:
110     $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"

3. vim 安装

官方下载:ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2

CSDN下载:http://download.csdn.net/detail/spch2008/8828773

tar -xf  vim-7.4.tar.bz2
cd vim74
./configure --prefix=/usr --with-features=huge --enable-rubyinterp --enable-pythoninterp --enable-luainterp --with-lua-prefix=/usr/localsudo makesudo make install

可以将输出重定向到log文件中,查看configure输出:

cat log | grep lua

spch2008@ubuntu:~/vim74$ cat log | grep lua
checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... /usr/local
checking --with-luajit... no
checking for lua... /usr/local/bin/lua
checking if lua.h can be found in /usr/local/include... yes
checking if link with -L/usr/local/lib -llua is sane... yes

问题:

objects/if_lua.o: In function `luaV_list_insert':
/home/spch2008/vim74/src/if_lua.c:777: undefined reference to `luaL_optlong'
collect2: error: ld returned 1 exit status

修改文件 /home/spch2008/vim74/src/if_lua.c

//long pos = luaL_optlong(L, 3, 0);
long pos = (long)luaL_optinteger(L, 3, 0);

4. 安装成功,检测时间,可能遇到问题

打开vim,输入:version, 查看vim编译时间,如果是本次编译生成,则说明正确,然后查看是否有+lua。

若编译时间不正确,则删除旧vim,拷贝新的vim程序

sudo rm -f /usr/bin/vim
sudo rm -f /usr/local/bin
sudo cp ~/vim74/src/vim /usr/bin
sudo cp ~/vim74/src/vim /usr/local/bin

附:

更改$VIM变量。编译完成后,我的$VIM变量是/usr/share/vim,一般默认都是在/etc,因而进行修改。

上图,输入version查看,vim 读取全局配置文件vimrc的路径为$VIM,通过:echo $VIM,

可知,目前我的VIM路径为/usr/share/vim。

在os_unix.h文件中,改为:# define SYS_VIMRC_FILE "/etc/vimrc"。重新进行make, make install 即可。

查看vim加载的脚本,输入:scriptnames 。可以看到vim已经加载的文本。

vim 重新编译,支持lua (compile vim with lua)相关推荐

  1. mac vim python3_VIM学习笔记 编译源码(Compile Code)-Python

    Python作为一种解释型编程语言,需要解释器来编译并执行Python代码. 测试Python 对于Linux和Mac操作系统,均已预装Python.而在Windows下,可以使用安装包或者直接解压版 ...

  2. vim可以用来编译python吗_Linux下编译Vim以支持python2.x

    安装前确保当前的vim还没支持python,检查的方法是打开vim, 在命令模式下输入:version, 然后查看显示的信息里有没有+python, 注意,必须是+而不是-,如果没有就说明当前版本的v ...

  3. Linux 2:vim,编译与调试,进程

    文章目录 一.文件编辑命令 1. vim的介绍与安装 1.1 vim介绍 1.2 vim安装 2. vim的三种模式 3. vim三种模式切换 3.1 模式切换示例图 3.2 命令模式 切换到 插入模 ...

  4. linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0

    为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...

  5. Mastering Vim Chapter 1: Getting Started 掌握Vim 第1章:入门

    Welcome to Mastering Vim, a book which will teach you to get good with Vim, its plugins, and its ide ...

  6. vim java 编程_你也用Vim写Java代码?

    献给所有曾试图写Java而痛苦挣扎的Vimers, 请不要害怕, 我也是你们的一员 序 文章源起于segmentfault论坛中的一个问题, 由于回答的有点尽性, 便转为文章. 题主应该是个Vim初学 ...

  7. vim全插件 linux,[转载]安装vim插件(linux下)

    安装vim插件(linux下) 第一步:安装zencoding插件(自动完成css html) unzip zencoding-vim.zip –d zencoding 第二步,安装autocompl ...

  8. linux vim命令找不到,sudo vim “找不到命令”的问题

    系统:debian8 shell:zsh 为了添加对python的支持,重新编译了vim7.4,安装到了/usr/local/vim74,而且在.zshrc里面设置了alias vim='/usr/l ...

  9. vim配置全攻略(2)——vim的简单配置

    这篇文章主要讲的是vim的简单配置,相对于vim内置的一些快捷键和功能,vim的客制化才是vim的灵魂,也是vim存活31年仍被热衷的原因. 如果你还不了解vim的基本操作和体系,我建议你看一下我上一 ...

最新文章

  1. 桑文锋的数据“长征”
  2. php 垃圾回收机制 转载
  3. mybatis的Example[Criteria]的使用
  4. python语言是机器语言_Python解释器:源代码--字节码--机器语言
  5. java继承原理内存角度_Java基础知识巩固
  6. 中移4G模块-ML302-OpenCpu开发-(MQTT连接阿里云-RRPC通讯)
  7. 【codevs3119】高精度开根号(二分答案)
  8. WIZnet推出串口转以太网模块WIZ550S2E
  9. javax.servlet.http.HttpServletResponse.setContentLengthLong(J)V,maven项目报错!!无法访问webapp下的文件,完美解决方案
  10. 关于全能挤房器v2.1
  11. 西门子mag6000接线_西门子MAG 5000/6000电磁流量计的使用
  12. 【CV-Learning】线性分类器(SVM基础)
  13. win的反义词_小学英语常用近义词、反义词、同音词汇总 ~~~ 赶紧转给孩子
  14. 罗永浩,天下“老赖”不独你一人!6位创业明星的陨落
  15. plc与计算机怎么网络连接 图,PLC与输入/输出设备的连接图解
  16. 两台Ubuntu18.04局域网共享文件夹,互相访问
  17. 电脑开不了机是不是电源坏了
  18. 5种经典的Linux桌面系统
  19. 如何学习大数据!!我要做大数据! 1
  20. 读书笔记2区块链与大数据

热门文章

  1. nvenc vs x264 对比(2)
  2. 三星优化器 适用于绝大部分安卓手机 超级好用!!
  3. APP逆向分析之XX音乐客户端下载歌曲权限绕过
  4. 阿里云智能接入网关体验
  5. 分库分表的 9种分布式主键ID 生成方案
  6. week15作业A ZJM 与霍格沃兹
  7. 计算机应用1.2版,201303《计算机应用基础》在线作1_2.doc
  8. 教大家强制退出id账号_今天教大家怎么用手机注册自媒体账号之企鹅号。
  9. pyplot中文手册_matplotlib手册(1)-pyplot使用
  10. 全志平台WiFi无法连接AP问题调试(1)问题分析