Vim的插件管理方式

最原始的方式:纯人肉管理

以前我就是用的这种方式。

使用官方提供的GetLatestScript插件

下面这段介绍引用自 滇狐博客

安装完毕后,创建文件 ~/.vim/GetLatest/GetLatestVimScripts.>dat,按照这样的格式编写你的自动下载配置文件:

1
2
3
4
5
ScriptID SourceID Filename
--------------------------
<插件 id> 0 [:AutoInstall:] <插件文件名>
<插件 id> 0 [:AutoInstall:] <插件文件名>
...

每行写一个插件的下载信息。插件 id 就是在 Vim 主页下载插件时 URL 中的 script_id= 后面的那个数字。第二个参数是前一次成功下载到的插件文件编号,第一次使用的时候该参数写 0,成功使用一次后会自动被修改为该插件最新版本的文件编号。第三个参数是该插件下载成功后是否自动安装,如果要自动安装的话就写上 :AutoInstall:。滇狐不建议使用自动安装,因此第三个参数建议省略不要写。第四个参数是插件的名称,一般和下载到的插件的文件名相同,当然即使不同也不会造成太大影响,这个参数主要用于防止某些插件自动将自己加入到这张列表,并非用于指定插件的下载文件名,更详细情况请参看该插件的文档。

Pathogen

与前面的相比,利用Pathogen 和git submodule来管理插件就方便多了。
这里有一篇很好的介绍:《Synchronizing plugins with git submodules and pathogen》 ,附带视频:

vundle

vundle是目前我在使用的插件管理方式
利用vundle的好处是,更新和安装新插件都非常方便。
安装插件只要写一条:
Bundle ‘xxxx’
然后再在vim中执行:
BundleInsall
要卸载的话,只要注释掉或删除这一句就可以。
更新插件与安装的命令相同,不过后面要加一个感叹号。

不好的地方是,由于一般我们喜欢让.vim目录处于git版本控制之下,而
bundle目录下面通过git clone过来的插件目录下面也有.git目录,在父目录提交时
,有.git的目录中的文件不会提交到远程repo.

另外还有neobundle

这是一个改进版的vundle,支持更多的repo格式(vundle只支持github上的repo)。基本功能同vundle。

muzuiget的方法

muzuiget的方法也不错。
vimfiles/scripts at master · muzuiget/vimfiles · GitHub
我的vimfiles方案 | 七星庐

vim-flavor

vim-flavor其实其实现还是蛮好的,不过
作者不太喜欢考虑插件版本的兼容性问题,这个问题我提交过issue,作者表示不愿意修改(见issue#14 ).
vim-flavor可以:
管理插件的安装/更新/卸载
管理插件的版本号与依赖关系(这一点上面所有插件都没有做到)
vim-flavor不可以:
安装版本号中带特殊字符的插件(如1.1@1 or v1.2,这一点非常蛋疼)
因为最后一条,我弃用vim-flavor并开始使用vundle了。

Posted via UltraBlog.vim.

更多
One Response Post a comment
  1. icesnow

    又过来打扰了
    bundle目录下面通过git clone过来的插件目录下面也有.git目录,在父目录提交时,有.git的目录中的文件不会提交到远程repo.
    我发现使用Pathogen 和git submodule来管理插件时也同样存在这个问题,不知该如何解决?

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS