在Thinkpad T400上安装完Ubuntu 10.04 LTS后,就开始搭建Android开发环境,第一步当然是编译vim。
目前最新的vim版本是7.3,因为从vim 7.3开始已经换用Mercurial做为版本管理工具,我们在下载vim 7.3源代码前,先要安装Mercurial:
sudo aptitude install mercurial cd ~ hg clone https://vim.googlecode.com/hg/ vim73
执行完上面的命令后,我们就取得了vim 7.3的最新代码,放在目录~/vim73中,接下来准备编译。在编译前,需要安装编译时需要的包,在Ubuntu上用如下命令:
sudo aptitude install xorg-dev libx11-dev libgtk2.0-dev libncurses5-dev
上面是Easwy在编译前所安装的依赖文件。后来在一篇帖子中看到另一种方法安装依赖文件,可能更方便(未测试):
sudo aptitude install build-essential sudo aptitude build-dep vim-gtk
接下来修改~/vim73/src/Makefile,打开自己所需要的功能,Easwy打开了下面这些特性:
- CONF_OPT_CSCOPE = –enable-cscope
- CONF_OPT_MULTIBYTE = –enable-multibyte
- CONF_OPT_INPUT = –enable-xim
- CONF_OPT_OUTPUT = –enable-fontset
- CONF_OPT_FEAT = –with-features=big
- CONF_OPT_COMPBY = “–with-compiledby=Easwy Yang <easwy.mail@gmail.com>”
接下来编译安装:
cd ~/vim73/src make && make install
执行完后编译好的vim以及gvim就安装在/usr/local/bin目录中了。将此目录加入PATH即可。
Easwy在编译后,每次运行gvim都会提示:
Warning: Missing charsets in String to FontSet conversion Warning: Unable to load any usable fontset Warning: Missing charsets in String to FontSet conversion Warning: Unable to load any usable fontset Error: Aborting: no fontset found
后来在网上查了一下,是因为没有安装libgtk2.0-dev包造成后,安装此包再重新编译后问题解决。
如果你在编译gvim时遇到了问题,可以参考我以前写的一篇文章:vi/vim使用进阶: vim编译中遇到的问题及解决方法。
最后,把我们编译的vim 7.3做为Ubuntu中的缺省编辑器,执行如下命令:
sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 50 --slave /usr/share/man/man1/editor.1.gz editor.1.gz /usr/local/man/man1/vim.1.gz sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 50 --slave /usr/share/man/man1/vi.1.gz vi.1.gz /usr/local/man/man1/vim.1.gz
Happy viming!
更多内容,请阅读易水博客上的其它文章。
[ 参考文档 ]
@surmise
我的可以,没有问题,我映射成了”,”
这么编译了,默认的键‘ \ ’不能用阿,映射为其它键也不能用。。。
博主的能用么?求解
@Xi
请参考一下这篇文章:直接在vim官网上下的vim7.2,编译无报错,运行gvim输出如下错误
Easwy你好,
我在重新编译安装vim7.2的时候一切都很顺利,但是等到运行的时候却出现了core dump。
出现问题的core是这个样子的:
…
Reading symbols from /lib/libgcc_s.so.1…(no debugging symbols found)…done.
Loaded symbols for /lib/libgcc_s.so.1
Core was generated by `./vim -V’.
Program terminated with signal 6, Aborted.
#0 0x006af416 in __kernel_vsyscall ()
请问是libgcc的问题吗?有什么办法可以解决吗?
向vim的推广者致敬
@vivim
可以,我通常就是这样升级的,这种方式升级,其实都不用再次改Makefile了,因为hg update不会覆盖Makefile的修改,除非有冲突。
不错,很详细的教程
请教楼主一个关于升级的问题
通过这种方式安装的gvim,以后在~/vim73/src/使用hg update vim73来升级源码
是否重复修改Makefile和make && make install步骤就可以了?谢谢先~