vim之所有被成为Unix程序员的两大神器之一,就是因为其强大的插件机制;但是传统的插件更新方式需要手工去插件网站下载,并且释放到$HOME/.vim目录下边,然后解压缩,定制选项等等。这样的好处是,当你需要到一台新的机器上工作的时候,不管这台机器有没有你的插件,只需要将你自己的插件目录全部打包/复制/覆盖就好了。
插件更新怎么办?
各个常用的插件都经常有更新,要么是修改了bug,要么是增加了新特性。如果想跟上作者的脚步,得到最新的版本,手工更新的方式无疑是很麻烦的。如果你在多个机器上工作,必须手工做人肉同步,并且记得哪个插件在哪个机器上是最新的;甚至可能需要做一些手工的merge。这些工作虽然不算很费劲,但是对于常常切换工作机器的人来说就显得异常繁琐和恼人。
现在早已经是互联网时代了,手工维护东西的过程显然和我们自己管理代码的老历史有类似之处了。那么一种直接的想法就是用git来跟踪我们自己的vim插件环境,并且利用git来管理就是。加上方便的github,只要建立一个自己的repo就是了,只要能接通网络的地方,一条命令就可更新了。
作者的更新怎么办?
上边的办法虽然好用,但是没有顾及到上游(插件作者)的更新,所以好处并不是特别明显。那么如果插件作者肯自己更新到github上(或者其它的git server)上,我们只需要引用它们就可以了?其实已经有大神这样干了,譬如高见龙就做了很好的分享;只要在github上搜索一把,其实可以看到很多有名的github插件的镜像。当然采用这种方式管理,需要用到git中的submodule,通过方比的panthogen,只需要在.vim/bundle/
下建立子目录,然后将插件的代码往里边添加就可以了。
更新插件的时候,只需要:
1 2 |
|
就可以跟插件的最新版本保持一致了。
我的插件
我建立了一个自己在用的插件集repo,链接在这里。