2008年(124)
分类: LINUX
2008-04-23 20:25:44
八、编译安装最新CVS版的VIM
1. 获取源代码
cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/vim covim7
源代码位于当前目录的vim7目录下面,假设安装目标在d:\work\program\Vim\vim70b
2.编译
注意重新编译前最好clean一下,确保“*obj*”目录被删除了,否则可能出现莫名其妙的问题,比如链接时找不到一些函数。下面是一个批处理脚本:
rem --------------------------------------------->
@echo off
set path=c:\winnt;c:\winnt\system32
vcvars32.bat
cd vim7\src
rem .sh文件跟其它程序有关联,避免运行VC的link时执行了link.sh
ren link.sh link.sh.old
@echo clean...
remclean时加入这些选项是因为$(OUTDIR)和$(OBJDIR)根据这些标志合成的,
rem 如果不加这些标志, 在rmdir /s /q时会找不到目录,从而没有删除掉。
nmake -f Make_mvc.mak clean FEATURES=HUGE GUI=yes OLE=yesMBYTE=yes IME=yes GDYNAMIC_IME=yes GIME=yesPERL=d:\work\program\Perl DYNAMIC_PERL=yes PERL_VER=58PYTHON=d:\work\program\Python24 DYNAMIC_PYTHON=yesPYTHON_VER=24 SNIFF=yes CSCOPE=yes CPUNU=i586DEBUG=yes MAP=lines
@echo build big debug version...
nmake -f Make_mvc.mak all FEATURES=HUGE GUI=yes OLE=yesMBYTE=yes IME=yes GDYNAMIC_IME=yes GIME=yesPERL=d:\work\program\Perl DYNAMIC_PERL=yes PERL_VER=58PYTHON=d:\work\program\Python24 DYNAMIC_PYTHON=yesPYTHON_VER=24 SNIFF=yes CSCOPE=yes CPUNU=i586DEBUG=yes MAP=lines
ren link.sh.old link.sh
@echo done.
pause
@echo on
rem <-----------------------------------------------
对于MinGW,
@echo off
@echo clean...
make -f Make_ming.mak clean DEBUG=yes
@echo make...
make -f Make_ming.mak all GUI=yes OLE=yes MBYTE=yes IME=yesGDYNAMIC_IME=yes GIME=yes PERL=d:/work/program/PerlDYNAMIC_PERL=yes PERL_VER=58 PYTHON=d:/work/program/Python24DYNAMIC_PYTHON=yes PYTHON_VER=24 CSCOPE=yes CPUNU=i586 DEBUG=yesMAP=lines
@echo done.
pause
@echo on
如果发现MinGW编译出来的gvimd.exe非常大(约4~5MB),可以用MinGW自带的strip处理一下。
3. 安装
如果你的系统先前有一份不同版本的VIM,那么需要先卸载掉(运行vim\vimXX\uninstal.exe,或者在拷贝完文件后运行新版VIM的 install.exe,它也会提示卸载旧版本),最近的VIM 7CVS代码安装目录也从vim70aa转变到vim70b,也需要卸载原先的vim70aa,这一步主要是删除一些注册表项。
如果你从CVS上更新代码后,install要求的安装目录名字没有改变(也就是说VIM版本没变),那么不需要卸载原先的版本,直接拷贝文件覆盖即可,如果你想更改目录安装的话也需要卸载。
cd vim7
dir /s/b *.exe
dir /s/b *.dll
xcopy vim7\runtime d:\work\program\vim\vim70b(vim70b是一个目录)
copy vim7\src\*.exe d:\work\program\Vim\vim70b
copy vim7\src\xxd\xxd.exe d:\work\program\Vim\vim70b
copy vim7\src\vimtbar.dll d:\work\program\Vim\vim70b
copy vim7\src\GvimExt\gvimext.dlld:\work\program\Vim\vim70b
copy vim7\src\VisVim\Visvim.dll d:\work\program\Vim\vim70b
然后进入vim70b目录运行install.exe,如果发现一个DOS窗口一闪而逝,那么很可能是建立的vim70b目录名不对,比如笔者前几天升 级后使用的仍然是vim70aa目录名,在DOS窗口中运行install.exe它就提示需要在vim70b目录下运行,将vim70aa改名即可。 install.exe的源代码是vim7\src\dosinst.c,这里面修改了注册表,并拷贝一些文件到WINDOWS目录下等等。
4.善后
视情况你需要更新PATH环境变量、文件关联、_vimrc中的路径名等,并将diff.exe,ctags.exe,cscope.exe拷贝到vim70b下面。
最后运行gvimd.exe,键入:ver开始享受VIM吧。
十、VIM的不足
前面已经提到,VIM在自动完成和集成调试方面还比不上现代的许多IDE,另外VIM对二进制编辑还没有UltraEdit强大,对于现在流行的重构, VIM也支持不力,但是作为一个文本编辑器而言,堪比的只有Emacs,另外VisualSlickEdit也很强大,不过它是商业软件。VIM也可以嵌 入到VisualStudio中作为编辑器,另外Code Forge,Eclipse,NetBeans,Sun VisualWorkshop等也提供了一定的VIM支持或者键绑定。
十一、工作中使用VI的问题
解决办法:将.viminfo.tmp临时文件删除掉即可。