编译一个自己的VIM/GVIM
Step1:Cygwin
首先是安装Cygwin.
Cygwin安装没什么好说的了,网上到处都是说明如何安装的文章.
如果在编译VIM的时候需要打上补丁,建议安装devel/patch,即patch命令.
这里除了用到patch外,还借助Cygwin充当控制台,比如可以修改/etc/profile,增加两行:
vimsrc=/cygdrive/e/Workstation/vim/vim72/src
export vimsrc
这样就可以通过"cd $vimsrc",直接到src的目录(需要重启Cygwin).
Step2:MinGW
Windows下的C/C++编译器
Vista和MinGW存在兼容性问题,参考这篇文章配置环境变量.
安装MinGW的时候选中base tool和g++ compiler.比如我安装到"D:/Program Files/MinGW".
如果希望使用Cygwin来完成编译,也可以安装Cygwin下的编译器,或者将MinGW的环境变量加入到/etc/profile中去:
MINGW_PATH="D://Program Files//MinGW"
export MINGW_PATH
C_INCLUDE_PATH="$MINGW_PATH//include;$MINGW_PATH//lib//gcc//mingw32//3.4.5//include"
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH="$MINGW_PATH//include//c++//3.4.5;$MINGW_PATH//include//c++//3.4.5//mingw32;$MINGW_PATH//include//c++//3.4.5//backward;$C_INCLUDE_PATH"
export CPLUS_INCLUDE_PATH
LIBRARY_PATH="$MINGW_PATH//lib;$MINGW_PATH//lib//gcc//mingw32//3.4.5"
export LIBRARY_PATH
因为WinGW的安装路径存在空格,需要用双引号括起来,并且对"/"进行转义://
如果环境变量配置不正确,可能遇到各类编译问题,比如找不到Include库:
buffer.c: In function `buf_contents_changed':
buffer.c:5485: error: dereferencing pointer to incomplete type
buffer.c:5485: error: dereferencing pointer to incomplete type
buffer.c:5490: error: dereferencing pointer to incomplete type
buffer.c:5490: error: dereferencing pointer to incomplete type
buffer.c:5493: error: dereferencing pointer to incomplete type
buffer.c: In function `wipe_buffer':
buffer.c:5523: error: dereferencing pointer to incomplete type
buffer.c: At top level:
structs.h:1286: error: storage size of `b_block_head' isn't known
make: *** [gobj/buffer.o] Error 1
Step3:Source
下载VIM源码,包括三个文件:
PC sources
Runtime files
PC translations
下载后解压即可,目录结构大致为vim/vim72/src,当然还有其他文件.
分别是源码,运行时需要的文件,翻译过的菜单 消息 语言文件等.
Step4:Patch
补丁,其中的README里面写了各个补丁的作用,可以阅读并选择需要的来使用,不过选择补丁是一件麻烦的事情,所以干脆全都下了打上.
将补丁放到任意目录,比如Cygwin中的/tmp目录下.
进入Cygwin控制台,假设补丁的名字叫patchname,进入vim/vim72/:
cat /tmp/patchname | patch -p0
补丁多了的时候还是借助shell命令来完成吧,毕竟一个一个敲实在是麻烦:
for file in /tmp/*; do patch -Np0 -i $file; done
有的补丁不可用,比如针对Mac平台的补丁,跳过即可.
Step5:Compile
进入Cygwin控制台,转到vim的源码目录:vim/vim72/src:
make -f Make_ming.mak GUI=yes OLE=yes
即开始编译.如果你需要打开VIM中的某些特性,比如使用任意字体,打开Ruby支持功能,
则需要修改make文件,具体参考VIM源码中的的说明文档(README for the Vim source code).
这里编译命令中打开了OLE特性,想知道OLE是什么,在VIM中输入:h ole.
打开OLE特性,可以让输入法跟踪光标,还可以结合Eclipse或者Visual Studio等进行编辑.
编译完成后会在src目录生成gvim.exe等其他文件,如果你已经安装过VIM,复制gvim.exe到安装目录覆盖即可.
如果没有安装过,复制gvim.exe和其他新生成的文件到上一级目录即可运行,这个目录便是VIM运行环境了,根据这些文件可以打包成一个完整的VIM Release.
Step6:Right Button Menu
如果你希望增加鼠标右键菜单支持直接在VIM的新标签打开文件,将以下文件保存为*.reg,导入注册表即可:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/*/shell/Edit with Vim(&V)]
[HKEY_CLASSES_ROOT/*/shell/Edit with Vim(&V)/command]
@="/"D://Program Files//Vim//vim72//gvim.exe/" -p --remote-tab-silent /"%1/" /"%*/""
--------分割线---------
这里菜单名称叫Edit with Vim(V),V为快捷键.
你也可以用编译好的install.exe来添加,参考这篇文章
-p --remote-tab-silent的作用可以搜索网上文章.
特别说明
为GVIM添加标尺列功能:
UE中可以对任意一列添加标尺列,这样就会显示一条竖线,这对规定了多少列范围内的文字为有效字符的语言来说非常有用,比如hlasm,cobol等.
需要用到这个补丁:margincolumn.patch,打完补丁后编译,在vimrc中添加:
set mc=80或者set margincolumn=80即会在第80列显示一条竖线.
margincolumn.patch下载
如果应用补丁的时候报错,很可能你的代码不是最新版的,到VIM官方网页下载最新的代码吧,在CVS或者SVN页面下载.
比如官方提供的7.2版Source里的screen.c就不能直接用,需要更新.
最后,你还可以在系统环境变量中修改PATH,加上VIM运行环境的目录,这样通过运行命令就能直接启动gvim了,
现在开始享受VIM强大功能和它所带来的高效率吧.
更新:使用任意字体需要更改make文件,加上:
MVC:
CFLAGS = $(CFLAGS) -DFEAT_PROPORTIONAL_FONTS
MinGW:
DEFINES += -DFEAT_PROPORTIONAL_FONTS
分别对应MS VC++和MinGW编译时用到的make文件。
分享到:
相关推荐
百度云盘链接附文档中,如有问题可联系我,亲测有效。
vmware vcenter6.5 for windows版本。 VMware-VIM-all-6.5.0-14020092
VMware-VIM-all-6.7.0-15976714 原版镜像 .................................................................................................................
vim-8.0.zip gpm-libs-1.20.7-6.el7.i686.rpm ncurses-5.9-14.20130511.el7_4.x86_64.rpm ncurses-base-5.9-14.20130511.el7_4.noarch.rpm ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm ncurses-libs-5.9-14....
Ubuntu 64位免安装版VIM-IDE。 压缩包为直接打包/etc/vim配置及插件包。 root@ubuntu:/etc/vim# tree -L 2 . bundle ale auto-pairs echofunc gdbmgr indentLine LeaderF nerdcommenter nerdtree nerdtree...
amoscykl博主的Vim的终极配置方案,完美的写代码界面! ——.vimrc这篇帖子 ,还有我自己的修改和...YouCompleteMe没有成功,需要的还是要自己摸索,乱码问题 自己搜索vim-airline安装字体 有现成的帖子 我就不重复了
vim配置,包含vim常用配置文件及插件
vim插件基础配置,vim-plug
vim配置大全-----------可以让你轻松写代码
在网上搜索会搜出个种各样的推荐,有人推荐直接下载一个windows下的vim安装包,或者有人推荐使用source insight,notpad++, sublime, ultraedit 或其他IDE工具等等,但是我尝试了使用这些工具查看代码以后,感觉都不...
vim配置C/C++开发环境,包括函数补全小括号补全等等,基本跟ide差不多,内附步骤。 注:vim中需要使用tab键来调出下拉框
在windows下用vim的兄弟不少吧。 代码的话需要用cscope和ctags的组合, 可以达到类似sourceinsight的效果。这次上传的是cscope.exe和ctags.exe。这个是编译好的版本,在windows下直接用。不需要cygwin.dll的参与 我...
vim-tmux-focus-events, 使终端vim和tmux更好地协同工作 tmux-focus-events.vimFocusGained 和 FocusLost 自动命令事件在终端vim中不工作。 这个插件在使用vim内部Tmux时恢复它们。以下是相关内容:vim fugitive插件...
windows下可以使用linux的vim工具
vim的主题space-vim-dark.vim
[服务器和数据中心虚拟化].VMware-VIMSetup-all-5.0.0-639890.iso 详情 2.3GB [服务器和数据中心虚拟化].VMware-VIMSetup-all-5.0.0-639890.zip 详情 2GB [服务器和数据中心虚拟化].VMware-viclient-all-5.0.0-...
像 IDE 一样使用 vim 中文版 ---------------------------------------------------- 本 ePub 基于开源文档,目录书签齐全。 版权归原作者,翻译版权归译者。 ----------------------------------------------------
vim系列插件 vim-powerline-develop
常用web开发工具 02 windows下vim编辑器常用web开发工具 02 windows下vim编辑器常用web开发工具 02 windows下vim编辑器常用web开发工具 02 windows下vim编辑器常用web开发工具 02 windows下vim编辑器常用web开发工具...
vim官网下载速度过慢,通过朋友才下载到的。 VIM-for-windows VIM-for-windows