天天看点

Vimball : 基于vim的插件管理器

今天在安装vim的一个插件:supertab(在vim中使用tab键实现快捷的上下文提示补全功能)时,发现此插件的格式是vmb,然后在查看安装方式:

install details

1. Download supertab.vmb to any directory.

2. Open the file in vim ($ vim supertab.vmb).

3. Source the file (:so %).

后来查了一下才知道vmb格式是vimball生成的文件格式,vimball也是vim的一款插件,该插件的主要功能就是创建,安装和查看vim的插件,简单的说vimball是vim的插件管理器,貌似vim 7.0以后就自带在vim中。下面说一下vimball的使用:

参考:http://www.vim.org/scripts/script.php?script_id=1502

(1)创建一个vimball安装包

可以通过以下命令创建一个vmb安装包:

首先在vim编辑器中输入安装包的源文件和帮助文件的名称,需要注意的是:文件的相对路径是~/.vim下面

plugin/something.vim
doc/something.txt
           

然后进入vim命令行模式输入下面的内容

:%MkVimball something
           

就会在当前工作目录下生成一个something.vba(或者.vmb格式- version33),打开该安装包文件,可以看到如下内容:

" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.
UseVimball
finish
+--  2 lines: plugin/something.vim ----------------------------------------
+--  2 lines: doc/something.txt -------------------------------------------
           

(2)提取vimball安装包即安装插件

打开.vba(.vmb)文件,在命令行模式输入:so %即可:

#vim something.vba
 :so % 
           

插件中的各个文件会被安装到相对于~/.vim的目录中;

其中vim中的so命令是source命令的缩写,它的作用是从文件中读取可执行命令(shell命令)来执行,上面我们在vba文件中可以看到

+--  2 lines: plugin/something.vim ----------------------------------------
+--  2 lines: doc/something.txt -------------------------------------------
           

这两行是可以展开的,在命令行模式下光标移到那一行,按一下右键就可以展开文件中的内容,当然也可以直接进入编辑模式,就可以看到其中的内容。所以vimball只是把上面两个文件的内容都移到了一起进行管理。

(3)查看vimball安装包文件列表

打开.vba(.vmb)文件,在命令行模式输入:VimballList ,

#vim something.vba
 :VimballList
           

会看到以下内容:

Vimball Archive Listing                                                                                                                                         
files would be placed under: /root/.vim
would extract <plugin/something.vim>: 0 lines
would extract <doc/something.txt>: 0 lines
           

Tips:vim命令行模式下,"%"的作用:

1.跳转到一个成对出现的左半边或者右半边的圆括号()、方括号[]或者大括号{}afasdf

2.跳转到一个C语言风格注释的开头或结尾

3.跳转到完整出现的C预处理条件从句:#if,#ifdef,#else,#elif,#endif

可以在命令行模式下输入:help %查看详细说明

Mar 10, 2013 @lab