Editor 板


LINE

※ [本文转录自 EZsoft 看板 #1GXJ4WK7 ] 作者: Bellkna (Belldandy) 看板: EZsoft 标题: [教学] GVIM(VIM) PORTABLE 编译 时间: Mon Oct 22 19:42:21 2012 前言: 本来想要编译 64bit 的 gvim 来使用 不过遇到一些问题 後来还是用 32bit (为了某些好用的 scrpit) 加上官网的安装档一直没更新 patch 所以就想自己编译的念头 而且编好的程式可以 portable 使用 (有些 script 要 python 支援的 就必需该电脑有装的才能使用) 下面 2 种版本(32bit or 64bit)的编译方法都会讲到 开始前要安装一些软体 首先 安装 Mercurial 官网 : http://mercurial.selenic.com/ 下载页面 : http://mercurial.selenic.com/downloads/ 按照喜好选择安装档下载即可 这边 32bit or 64bit 不影响编译 Mercurial 2.3.2 MSI installer - x64 Windows - requires admin rights (我是装这个) 这个是用来下载 vim 的原始码 也可以官网下载原始码再来 patch 不过 windows 下 patch 很麻烦 (而且不一定会过 ; linux 下 patch 是没问题) 用这个比较方便 安装时用预设值安装即可 装好 Mercurial 後 根据 vim 官网上的资料 http://www.vim.org/mercurial.php 在命令列提示字元下 输入下面这行(记得先切换到想下载到的资料夹) hg clone https://vim.googlecode.com/hg/ vim 之後就等它下载完 原始码下载完毕後 接着安装 TDM-GCC (也可以用 MINGW 只是 MINGW 没有离线安装包 这个比较方便) 官网 : http://tdm-gcc.tdragon.net/ http://sourceforge.net/projects/tdm-gcc/ 下载页面 : http://tdm-gcc.tdragon.net/download http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/ 选一个连结即可 指向的地方是同一个 视要编译的版本(32or64) 下载对应的编译器 32bit : tdm-gcc-4.7.1-2.exe 64bit : tdm64-gcc-4.7.1-3.exe 视要编译的版本安装一个即可 (2 个都装也没问题 只是使用上别用错就好 编译时会 error) 这个安装也是用预设值安装即可 TDM-GCC 装好後 就可以开始编译 vim 了 执行 程式集 里面的 MinGW Command Prompt (视编译版本选择对应的版本 MinGW32 or MinGW64) 然後 切换到 vim 原始码的目录 src 执行下面其中一行( mingw32-make.exe -f Make_ming.mak FEATURES=HUGE (32 bit) mingw32-make.exe -f Make_ming.mak FEATURES=HUGE ARCH=x86-64 (64 bit) FEATURES 参数可以视需要而调整 我是直接用 HUGE 比较省事 (想研究其它参数的 可以看 Make_ming.mak 的内容研究) 接下来就等它编译好 约5分钟左右(Athlon II X4 630) 编译好後(没跳啥 error 的讯息就没问题) 接下来就是把 编好的执行档 copy 到别的目录上使用 也可以直接使用 src 内的 gvim 不过 还是把需要的东西 copy 到另一个目录上 使用比较方便 也比较不占空间 根据 vim wiki 上的说明 http://vim.wikia.com/wiki/Version_independent_installation_of_Vim_on_Windows 我按照内容 整理出下面所需要的目录结构 vim\vim73\runtime (资料夹) vim\vim73\gvim.exe vim\vim73\gvimext.dll vim\vim73\vimrun.exe vim\vim73\xxd.exe runtime 直接从 vim 的目录 复制 gvim.exe 和 vimrun.exe 从 vim\src 复制 xxd.exe 从 vim\src\xxd 复制 gvimext.dll 从 vim\src\GvimEx\ 复制 照这个目录结构 放置档案和资料夹 就是可以 portable 的 gvim vim 常用的 vimrc 就放在 vim 目录里就可以被读取到 (这边和安装的 gvim 有所不同 档名为 vimrc 安装的话会是 .vimrc) 虽说这样子已经是可以使用的 gvim 不过 使用 diff 时 会有 error 产生 (安装版的会用 mydiff() 此函数来解决) 不过 根据这篇提到 http://vim.wikia.com/wiki/Running_diff 建议的解决方法 还是下载 GnuWin 里面的 diffutils 来使用 官网 : http://gnuwin32.sourceforge.net/ http://sourceforge.net/projects/gnuwin32/ 下载网址 : (选最新版的 bin 下载即可) http://sourceforge.net/projects/gnuwin32/files/diffutils/ 因为 diff.exe 需要下面这2个 dll 才能工作 所以下面这2个也得下载 http://sourceforge.net/projects/gnuwin32/files/libiconv/ http://sourceforge.net/projects/gnuwin32/files/libintl/ 这是我下载使用的版本 diffutils-2.8.7-1-bin.zip libiconv-1.9.2-1-bin.zip libintl-0.14.4-bin.zip 从里面解压出 以下这3个档案 diff.exe libiconv2.dll libintl3.dll 然後和 gvim 放置在同一目录即可 这样 diff 就能正常使用 接下来 稍微提一下 script 安装使用上的问题 自行编译出来的 gvim 使用的目录结构是以 gvim 执行档所在目录为主 以安装这个为例子 pathogen.vim http://www.vim.org/scripts/script.php?script_id=2332 pathogen.vim 所要放置的目录为 vim\vim73\runtime\autoload 不过 放这边的话 我们要更新 gvim 时 不能直接覆盖那 4个档案+1个资料夹 所以改放这边 vim\vimfiles\autoload (自行建立) 而 pathogen 预设的读取目录也会在这 vim\vimfiles\bundle 文章到这边 应该可以建立出一个能使用的 gvim 才对 我应该没有漏掉什麽才对XD 如果有错误的地方 麻烦指正 谢谢 (其实主要是写一下当笔记 怕自己忘了怎麽弄的) 最後提一下 为什麽我还是用 32bit 的 gvim 因为这一个 script http://sjl.bitbucket.org/gundo.vim/ 介绍影片 : http://vimcasts.org/episodes/undo-branching-and-gundo-vim/ 当初看了这个 觉得好棒! 因为这个 script 需要 python 才能工作 所以编译时就加入了 python 的支援 可是 编好的 gvim 只要执行 python 相关程式就当机了 结果 不断的嚐试+GOOGLE後 发现 64bit 的 python 和 MinGW(TDM-GCC) 有点问题(可能用其它编译器会没问题) 最後 我安装 32bit 的 python 就没问题 Gundo 只支援 python 2.7 想使用 3.3 的话 好像得改程式码 想同时用 2.7 和 3.3 的话得开 dynamic 只是我这样编出来的 gvim 测试 python 还是会当 所以 为了省事 我只用了 python 支援 编译时加入这行 PYTHON=C:\Python27 PYTHON_VER=27 DYNAMIC_PYTHON=no python3的话用这行 2个不能同时开 PYTHON3=C:\Python33 PYTHON3_VER=33 DYNAMIC_PYTHON3=no 记得要去 python 下载安装档并安装 才能加入 python 的支援 官网 : http://www.python.org/ 参考资料补充: http://vim.wikia.com/wiki/Category:Building_Vim http://vim.wikia.com/wiki/Build_Python-enabled_Vim_on_Windows_with_MinGW --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.213.22
1F:推 abc0:有没有你已经编译好的gvim+dll打包下载档? 谢谢! 10/24 12:10
3F:→ Bellkna:不方便编的话可以用这个 只不过更新没很快 不过比官网快 10/24 17:33
4F:推 flu:推~~这篇可以发在Editor板啊 10/26 04:14



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: Bellkna (125.224.51.63), 时间: 10/30/2012 03:03:07
5F:推 doublewhi:推~ 11/02 01:21







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP