转自: http://blog.chinaunix.net/uid-27012654-id-3878096.html
Fedora14 通过yum安装的(G)VIM版本较低,某些插件(例如:YouCompleteMe)需要较高的版本程序,而且需要(G)VIM支持Phython特 性,因此在线安装的(G)VIM不能满足需求。前些天(G)VIM最新版本7.4发布,正好利用它尝尝鲜。
1、如果前面安装过(G)VIM,请先卸载(G)VIM。在命令行输入: sudo yum remove vim gvim vim-common 。
2、准备编译(G)VIM工具及依赖库,当然了前提是GCC已安装过。
a) 在命令行输入: sudo yum -y install python-devel ncurses 安装python和ncurses;python版本最好在2.7及以上,ncurses版本最好在5.0及以上;
b) 如果打算编译GVIM,继续在命令行输入: sudo yum -y install gtk2-devel
glib-devel glib2-devel gtk+-devel libgnome-devel libgnomeui atk-devel
libbonoboui-devel cairo-devel libX11-devel libXpm-devel libXt-devel
xorg-x11-proto-devel xorg-x11-server-devel libSM-devel mercurial;
c) 如果打算让(G)VIM支持ruby,则继续在命令行输入: sudo yum -y install ruby-devel,并且在后面配置编译时加入ruby选项。
3、下载(G)VIM7.4源码,进入到压缩文件目录,输入命令: tar -jxvf vim-7.4.tar.bz2;
如果在步骤2-b中,安装了mercurial工具,则可以在命令行输入: hg clone
https://vim.googlecode.com/hg/ vim 来过的最新的源码,而后可以再通过 hg pull 和 hg
update 来更新并重新编译,从而得到最新的版本。这是VIM官方推荐的方法,我的虚拟机通过 hg
命令无法获得源码,也可能是GoogleCode被封了,因此这里直接用了压缩包源码。
4、进入(G)VIM源码目录,在命令输入命令配置GVIM编译选项:
./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp \
--with-python-config-dir=/usr/lib/python2.7/config --enable-perlinterp \
--enable-gui=gtk2 --enable-cscope --enable-multibyte --with-x --enable-sniff \
--enable-fontset
当然了,如果前面编译或者配置过GVIM,先要执行命令:make distclean 来清除旧的配置编译信息。
5、配置结束后,输入命令: make 进行编译;编译结束后,输入命令:sudo make install 来安装GVIM;
GVIM默认安装到 /usr/local/bin 目录下,环境变量$VIMRUMTIME的值为: /usr/local/share/vim/vim74;
如果想安装到/usr/bin目录下,则在配置编译选项时增加: --prefix=/usr;,编译时最好输入: make VIMRUNTIMEDIR=/usr/share/vim/vim74;
6、默认安装结束后,输入 vi/vim都会起到VIM7.4;而输入GVIM后提示找不到 /usr/bin/gvim,因此建立一个软连接: sudo ln -s /usr/local/bin/gvim /usr/bin/gvim;
7、打开GVIM后,有可能菜单栏无法显示,解决方法参考:环境搭建之四:VIM安装及IDE环境搭建-I 中的解决方法二;
8、增加对 Lua 支持,在配置编译环境时增加: --enable-luainterp --with-lua-prefix=/usr;/usr为 Lua 的安装目录(注意: Lua实际路径为:/usr/bin/lua);
至此,GVIM7.4安装完毕。为方便以后编译安装GVIM,特意编写了一个脚本文件,可以放到GVIM源码目录下直接使用,也可以在使
用时将GVIM源码目录做为参数,例如:./vim-build-install.sh ~/vim74;脚本代码如下:
点击(此处)折叠或打开
- #Build GVIM and install it.
- #!/bin/bash
- # check if has source directory parameter
- if [ $# -ne 0 ] ; then
- if [ ! -d ${1} ] ; then
- # if not exist, exit and output error message
- echo "${1} not exist, stop building!"
- exit 1
- else
- # or existed, enter it
- cd ${1}
- fi
- fi
- # check if 'configure' file exist
- if [ ! -f "configure" ]; then
- echo "GVIM configure tool not exist, stop building!"
- exit 1
- fi
- #try to clean old cache files
- echo "try to clean old bulding files ..."
- make distclean
- #config GVIM building operations
- #echo "configure GVIM building operations ..."
- ./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp \
- --with-python-config-dir=/usr/lib/python2.7/config --enable-perlinterp \
- --enable-gui=gtk2 --enable-cscope --enable-multibyte --with-x --enable-sniff \
- --enable-fontset --prefix=/usr
- #building GVIM
- echo "start building GVIM and install it ..."
- make VIMRUNTIMEDIR=/usr/share/vim/vim74 && sudo make install
浙公网安备 33010602011771号