VIM 插件 vim-script-bundle

/

VIM 用于管理插件的工具还是比较多的,比如 VundleNeobundle,尤其是 Neobundle,衍生于 Vundle,功能上做了大量改进,很多人都感觉过于复杂了,其实仔细阅读下插件文档,就会觉得很多功能都非常不错,比如延迟加载 Lazyload,只有在需要的时候才加载特定的插件,可以大幅提高 VIM 的启动速度。它们都是很棒的插件,同时也存在一个小小的缺憾,那就是当安装和更新 vim.org 上的插件时,是从 github.com/vim-scripts 进行下载,而不是从官方网站。貌似有人针对此向 Neobundle 提出了 Issue,但作者似乎不置可否。

虽然现在很多 VIM 插件的作者除了在 vim.org 更新插件外,会及时在 github 或者 bitbucket 更新,但是也有很多插件例外,这当然无可厚非,毕竟 vim.org 是 VIM 的官方网站,一些作者不喜欢用版本控制系统也是个人喜好。好在 github.com/vim-scripts 会在 github 更新 vim.org 上的插件,只不过更新的不是那么及时,很多插件的版本显得很滞后,包括一些很好用的插件,比如 MarkAlign 等。所以为了解决这个问题,我就写了一个插件 vim-script-bundle

vim-script-bundle 可以很方便的从 vim.org 官方网站下载安装和更新插件,也可以删除本地不再需要的插件,管理类似于 Vundle 和 Neobundle。vim-script-bundle 依赖于 curl 和 7zip,支持设置反向代理、http 和 socks 代理,方便直达被 XXX 的 vim.org。

安装

git clone https://github.com/BeyondIM/vim-script-bundle.git ~/.vim/scripts/scriptbundle

设置
在 .vimrc 中加入

set runtimepath+=$HOME/.vim/scripts/scriptbundle/

" Set a vim.org reverse proxy server if vim.org can't get access.  
" let g:vimSiteReverseProxyServer = 'http://vim.wendal.net'

" Set http or socks proxy if vim.org can't get access.  
" let g:curlProxy = 'http://127.0.0.1:8888'  
" let g:curlProxy = 'socks5://127.0.0.1:8888'

" Some scripts require 7zip to extract.  
" let g:sevenZipPath = 'path_to_7z_execute_file'

call scriptbundle#rc()  
" mark - http://www.vim.org/scripts/script.php?script_id=2666  
Script '2666'  
" matchit - http://www.vim.org/scripts/script.php?script_id=39  
Script '39'
" align - http://www.vim.org/scripts/script.php?script_id=294  
Script '294'
" mayansmoke - http://www.vim.org/scripts/script.php?script_id=3065  
" Move script to subdirectory to get work properly.
Script '3065', {'subdir':'colors'}  

使用

" Brief help  
" ScriptInstall     - Install configured and non-installed scripts  
" ScriptInstall!    - Reinstall all installed scripts  
" ScriptUpdate      - Update all installed scripts
" ScriptClean       - Uninstall all unneeded scripts

Comments