Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198932
  • 博文数量: 124
  • 博客积分: 7051
  • 博客等级: 少将
  • 技术积分: 1425
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-20 13:21
文章分类

全部博文(124)

文章存档

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支持或者键绑定。

  •   Reference:
  •   :help workshop
  •   :help netbeans
  •   :help debugger

十一、工作中使用VI的问题

  • :w保存后,:q退出时,提示“E138:不能写入.viminfo文件”。
  • u为撤销命令,与u对应的恢复命令为ctrl+r

解决办法:将.viminfo.tmp临时文件删除掉即可。

阅读(279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~