使用 SVN 来管理 Vim 配置文件 .vimrc 及插件集
November 5th, 2007
注: 本文第一次写作时没有进行全面的测试,由于 svn update 操作更新文件时会破坏 NTFS 上的硬链接而导致第一次的方法无法正常使用。现在你看到的已经是新的方法。在此为我的疏忽向大家道歉。
现在我的生活早已离不开 Vim 了,无论是在公司还是在家里,无论是在本地计算机还是远程服务器上,Vim 必定是我使用得最多的程序之一。当然了,Vim 虽好,也一定要有符合自己习惯的 .vimrc 和插件集才能发挥出更大的潜能,让我们用得更爽。也就是说,.vimrc 肯定是会被经常修改的,插件集也应该会时常添加新成员或进行版本更新。显然,要在家里和公司以及一些远程服务器之间频繁地同步这些修改是件很烦人的事。幸好,我们有 Subversion 可以让这一切变得简单。
让我们从公司的 Linux 桌面机上开始。
# 将 $HOME 里的 .vimrc 和 .vim 目录放到 vimfiles 目录里以便进行 SVN 导入操作 cd ~ mkdir vimfiles mv .vimrc vimfiles mv .vim vimfiles svn import vimfiles http://svn.rainux.org/vimfiles/trunk # 从 SVN 里 checkout 出一份 working copy 到 $HOME 里, # 并且设置忽略掉 $HOME 里其他所有文件 svn co http://svn.rainux.org/vimfiles/trunk . svn ps svn:ignore '*' . svn ci -m "Let's ignore all files those not managed by Subversion in $HOME." # 用来进行导入操作的 vimfiles 目录已经不再有任何存在的意义了 rm -rf vimfiles
好了,我们的 .vimrc 和插件集已经版本化了,下班回家。
# 先备份一下家里 Windows 上的文件,这假设我们没有使用 Cygwin CD %HOME% MOVE .vimrc .vimrc.backup MOVE vimfiles vimfiles.backup svn co http://svn.rainux.org/vimfiles/trunk .
现在我们遇到问题了,Vim 在 Windows 上会尝试从 %HOME%\vimfiles 目录加载用户脚本,而不会理会 %HOME%\.vim 目录。我的解决办法是为 .vim 目录建立符号链接 vimfiles,这需要 %HOME% 所在分区必须是 NTFS 文件系统。新的问题是 Windows 本身并没有附带创建符号链接的工具,需要用 Sysinternals 提供的命令行工具 junction.exe 或者 Windows 2000 Resource Kit 里的 linkd.exe 来创建。
CD %HOME% junction vimfiles .vim
OK,开始享受 Subversion 为我们带来的便利吧!不仅仅可以方便的同步在公司和在家里对 .vimrc 及插件集的修改,在远程服务器上要取得这些最新的修改也变得非常容易。什么,某个服务器上还在使用古老的 Vim 6.3 ?没有关系,为 http://svn.rainux.org/vimfiles 创建一个名为 6.x 的 branch,删掉无法用于 6.x 的插件即可。
最后,如果你对我的 Vim 配置感兴趣,可以从上面提到的 URL 里 checkout 一份出来看看,是的,它是真实的 URL。:)
Update: 作为狂热的 Git 爱好者,我已经使用 Git 来管理我的 Vim 配置文件了,请访问我的 Vim 配置文件页面。
标签:GNU/Linux, Software_软件, Subversion, Vim, Windows
December 29th, 2007 at 00:01
http://svn.rainux.org/.vim/trunk 倒是个真实的地址,但有密码,下不了哦 :-(
December 29th, 2007 at 02:32
这篇文章已经被修改过,我的 Vim 配置文件地址也变化了,请重新阅读 :-)