Ubuntu14.04下编译安装Vim74+Vim-gdb

一、准备工作

1、下载Vim74和适合7.4版本的vim-gdb:

(1)vim7-4.tar.bz2

(2)vimgdb-for-7.4

2、卸载已存在的vim以及相关组件

        如果已经通过软件中心安装了vim,则需要将其卸载

sudo apt-get remove vim vim-runtime gvim

可能还需要移除以下的包:

sudo apt-get remove vim-tiny vim-common vim-gui-common

3、安装依赖环境

        手动编译安装Vim74,首先先安装编译所需的依赖库和头文件。

sudo apt-get build-dep vim

然后再编译,如果依赖问题没有解决可能会出现这个提示:

no terminal library found  
checking for tgetent()... configure: error: NOT FOUND!  
      You need to install a terminal library; for example ncurses.  
      Or specify the name of the library with --with-tlib.

也可手动安装以下的库等解决依赖,为了保险起见,最好还是执行一下。

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial

二、不需要vimgdb的Vim安装

       将下载的vim74源码包解压出来,进入解压出来的文件目录,编译

cd ~/downloads/vim74/  
 ./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope --enable-luainterp --enable-multibyte --enable-xim --prefix=/usr

参数说明:

--with-features=huge:支持最大特性

--enable-rubyinterp:启用Vim对ruby编写的插件的支持
--enable-pythoninterp:启用Vim对python编写的插件的支持
--enable-luainterp:启用Vim对lua编写的插件的支持
--enable-perlinterp:启用Vim对perl编写的插件的支持
--enable-multibyte 和 --enable-xim:需要在Vim中输入中文,开启这两个特性
--enable-cscope:Vim对cscope支持
--enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ 指定 python 路径,这是python2在ubuntu64位机子上的路径,32位应该为/usr/lib/python2.7/config-i386-linux-gnu/

--prefix=/usr:设定编译安装路径,注意自己是否有权限访问。

        如果configure出错,先用make distclean清除之前configure产生的文件再configure。

        最后make一下然后安装,因为设定的路径/usr普通用户不具有写入权限,所以需要以sudo来安装。

可以不指定VIMRUNTIMEDIR,则只要执行make就好。

make VIMRUNTIMEDIR=/usr/share/vim/vim74
sudo make install

如果想要卸载,suo make uninstall以下就好。

检验自己是否安装成功,可以运行vim --version来看看,可以检查某些特性是否已经开启。有加号的表示特性已开启。

三、带有vimgdb的vim安装

1、安装vim

        将vim74的源码包和vimgdb的补丁包都解压到ome的Downloads下

:~/Downloads$ ls  
vim74  
vim-7.4.tar.bz2  
vimgdb-for-vim7.4-master  
vimgdb-for-vim7.4-master.zip

然后切换到当前目录下,打补丁

patch -p0 < vimgdb-for-vim7.4-master/vim74.patch

接下来切入到vim74/src,make安装。

cd vim74/src  
make  
sudo make install

默认的当前目录下Makefile设置的特性等都能满足一般需求,如果需要添加路径或做些修改等,只要对这个文件进行编辑就好。我将里面的路径改动了,因为默认的/opt/bin这个路径不在我的$PATH里面,而默认却将vim的bin文件放在这里,导致执行vim会找不到命令。如果不作修改,可以将此路经添加到$PATH里面就好。

打开之,搜索/opt,按照注释的说明,将BINDIR, MANDIR, DATADIR这三行注释掉即可。改完之后的这三行如下:

# Uncomment the next line to install Vim in "/usr/bin"
#BINDIR   = /opt/bin
# Uncomment the next line to install Vim manuals in "/usr/share/man/man1"
#MANDIR   = /opt/share/man
# Uncomment the next line to install Vim help files in "/usr/share/vim"
#DATADIR  = /opt/share

然后make安装。我在我的ubuntu上虽然安装成功,但是执行vim失败,出现“Vim:Caught deadly signal ABRT”之类的错误。解决方法是在make是添加CFLAGS="-O2 -D_FORTIFY_SOURCE=1",则为:

make CFLAGS="-O2 -D_FORTIFY_SOURCE=1"

然后再执行sudo make install,则最后将vim安装到/usr/local/share/vim/vim74下。

        如果想要通过执行configure设置一些特性和安装路径,那么记得加--enable-gdb,且是在vim74/src目录下执行,不是上面不添加vimgdb的直接在vim74目录下执行configure

./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope --enable-luainterp --enable-multibyte --enable-xim --enable-gdb --prefix=/usr

再检查一下Makefile里面的BINDIR, MANDIR, DATADIR ,保证将它们三行注释了。然后make,添加VIMRUNTIMEDIR,以及安装:

make VIMRUNTIMEDIR=/usr/share/vim/vim74 CFLAGS="-O2 -D_FORTIFY_SOURCE=1"  
sudo make install

最后安装完了的vim的目录在/usr/share/vim/vim74下。
        运行vim --version检查以下gdb这一项特性前是否有加号,如果有,则表示vimgdb安装成功。

2、安装vimgdb运行环境

       将vimgdb-for-vim7.4-master/vimgdb_runtime下的文件复制到运行时路径(runtime path)。可以在vim里面执行:set runtimepath?来找到runtimepath。通过执行echo $VIMRUNTIME来查看安装路径。可以看到有好几个路径,~/.vim是当前用户下的,/usr/share/vim/vim74是所有用户的(这是设置了安装路径之后的,默认的路径应该在/usr/share/vim/vim74)。

然后切换到刚才选择将vim runtime路径,打开vim,执行“:helptags .”(注意,没有引号,helptags后面有一个空格和点,点表示当前目录。),这样就能使用“:help vimgdb”来打开vimgdb的帮助文档。

四、参考文档

1、Building Vim from source

2、vimgdb-for-vim7-4

3、vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

4、添加vimgdb导致vim虽成功安装却不能运行的解决办法

5、vim crashes on startup when compiled with -O3 but works with -O2


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。