<hr> 首先,对以前提到vim环境下中文字符显示乱码的问题做出一个补充。<br> 本人的Redhat内核版本2.4.20,其中vim默认安装的版本为6.1,出现中文乱码我的认为可能有两个缘由:<br> 第一,6.1版本的vim过于老旧,对中文部分编码不支持。<br> 第二,以前编译vim源码时,执行./configure命令未添加 --enable-multibyte(支持多重编码)参数。<br> <hr><br> 而后,介绍一下采用vim7.3版本代替以前的vim6.1,并为vim添加gdb调试器补丁的过程。<br> **一、先下载vim-7.3.tar.bz二、vimgdb-for-vim7.3-master.zip这两个压缩包。**<br> vim7.3源码包:<ftp://ftp.vim.org/pub/vim/unix/><br> gdb补丁包:<https://github.com/larrupingpig/vimgdb-for-vim7.3><br> 下载完成后将其放至home目录。<br> 对文件进行解压:<br> \# tar –jxvf vim-7.3.tar.bz2<br> \# unzip vimgdb-for-vim7.3-master.zip<br> 为vim7.3打补丁:<br> \# patch –p0 < ./ vimgdb-for-vim7.3-master/vim73.patch<br> 进入vim73目录,开始编译:<br> \# cd vim73<br> \#./configure --enable-gdb --enable-gui=gtk2 --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge<br>git
vim7.3的configure配置说明:<br>github
二、当执行完以上配置命令后,可能会编译报错error: cannot compute sizeof (off_t)<br> <br> 缘由:<br> vim在进行源码编译时,依赖于Libiconv库,而此时系统可能缺乏相关的库,或者有库文件但不在编译寻找的路径中。<br> 解决方法:<br> 安装libiconv库(有则无需安装):<br> 先下载libiconv-1.14.tar.gz文件,网上资源不少:<br> http://www.gnu.org/software/libiconv/<br> 下载完成后将其拷至home目录,解压后,进入目录按照readme执行编译安装:<br> # ./configure --prefix=/usr/local<br> # make ; make install<br>vim
此时,libiconv库已经安装完毕,但若是进入vim目录继续编译源码,可能仍然提示以前的报错信息,这是由于libiconv库所在路径并不在vim源码编译搜索的路径范围,因此要解决问题,只能向编译器设定额外的工做路径。<br> 命令以下:<br> export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH<br> 此时再次进入vim73目录执行:<br> #./configure --enable-gdb --enable-gui=gtk2 --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge<br> 而后执行:<br> # make ; make install<br> 编译安装成功!此时你能够用Vim打开任意带有中文字符的文件,会发现再无乱码出现。<br> <br> 三、此时,配置工做还还没有结束。<br> 还要将vimgdb-for-vim7.3-master /vimgdb_runtime/路径内的文件拷贝到~/.vim/目录下,并在~/.vimrc配置文件中添加以下语句:<br> source ~/.vim/macros/gdb_mappings.vim<br> VimGdb调试器的编译配置工做就此已结束,具体使用请参看vimGBD的文档,或~/.vim/doc/gdb.txt 。<br>bash
四、最后,本文在编译vim7.3的过程当中,还有一个小bug须要您注意。<br> 在指定额外路径的方式上,本文采用的是:<br> export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH<br> 即采用export的方式引导编译器寻找指定路径,这种方式在系统重启后会失效,当您重启系统并启用Vim时,会出现以下提示信息:<br> <br>
<br> 一种解决方法是在重启系统以前,用vim打开/etc/bashrc文件,修改其中的LD_LIBRARY_PATH环境变量:<br> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/<br>app
但若是您此时已重启系统,能够采用另外一种方式解决此问题,当程序执行函数动态连接库时,默认会在缺省目录‘/usr/local/lib’和‘/usr/lib’寻找。<br> 故只要找到libiconv.so.2所在的位置,并将其拷贝至这两个缺省目录下便可。<br>函数