vim-addon

debian 中的 vim-addon 机制

 

debian 中的 vim 装好之后没有将 /usr/share/vim/addon 加到 VIMRUNTIMEPATH 中去,我对此一直感到很困惑。以前的时候都是在 .vimrc 中显式的将这个目录加到 runtimepath 中,也倒挺好用,没有什么问题。

这两天发现 vim-latexsuite 的编译命令无法使用,就看了一下 doc,发现了一个好东西:vim-addon-manager。以前一直没有注意到这个包是干什么用的,今天仔细的看了一下 manual,总算搞明白了。这个可是个好东西,在这里也给大家介绍一下。

大家都知道,vim 有很多扩展,比如 latexsuite, taglist, calendar, bufexplorer 等。这些扩展使得 vim 的威力倍增,大大的方便了各种处理工作。但是也带来了一个问题,系统中的扩展装的多了之后,vim 的启动速度就会变慢。最重要的是,系统默认安装的很多扩展我们平常都使用不到,经常使用的也就几个扩展,偶尔会用一下另外的几个扩展。对于个人电脑这个很 容易解决,只安装需要的扩展就行了,但是对于多个用户一起使用的服务器来说就不合适了。另外,vim-scripts 这个包里有巨多的扩展,要么全装,要么不装,也不好办。

debian 是如何解决这个问题呢,就是通过 vim-addon-manager。vim-addon-manager 提供了一套机制。首先,安装到系统中的所有扩展默认情况下都不加入 vimruntimepath 路径,这样就不会自动装载。其次,vim-addon-manager 提供了一个注册机制,每安装一个扩展,就需要向 vim-addon-manager 进行注册。这样一来,vim-addon-manager 就知道了系统中所有扩展的信息。

vim-addon-manager 提供了 vim-addons 命令,允许每个用户自由的控制使用哪些扩展,禁用哪些扩展。实现方式是通过符号链接将扩展的文件到每个用户的 .vim/ 目录。使用上很简单:

vim-addons status
显示系统中安装了哪些扩展,哪些是对当前用户开启的,哪些是禁用的
vim-addons install extension-name
对当前用户安装某个扩展,即创建符号链接
vim-addons remove
对当前用户删除某个扩展,即删除符号链接
vim-addons disable
对当前用户禁用某个扩展,在配置文件中插入扩展的禁用命令
vim-addons amend
对当前用户启用某个扩展,从配置文件中移除扩展的禁用命令

emacs 要是有这种机制就好了,现在每次启动 emacs 都要等上 7-8 秒。

你可能感兴趣的:(vim-addon)