*pi_vimball.txt*	For Vim version 7.3.  最近更新: 2010年7月

			      --------------------
			      Vimball 归档处理程序
			      --------------------
				译者: Willis
				http://vimcdoc.sf.net

Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
	  (remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.	*Vimball-copyright*
	   The VIM LICENSE applies to Vimball.vim, and Vimball.txt
	   (see |copyright|) except use "Vimball" instead of "Vim".
	   No warranty, express or implied.
	   Use At-Your-Own-Risk!

==============================================================================
1. 内容					*vba* *vimball* *vimball-contents*

	1. 内容..........................................: |vimball-contents|
	2. Vimball 简介..................................: |vimball-intro|
	3. Vimball 手册..................................: |vimball-manual|
	   MkVimball.....................................: |:MkVimball|
	   UseVimball....................................: |:UseVimball|
	   RmVimball.....................................: |:RmVimball|
	4. Vimball 历史..................................: |vimball-history|


==============================================================================
2. Vimball 简介							*vimball-intro*

	Vimball 的目标就是使插件用户的使用更方便。有了 vimball 以后，用户只需
	要: >
		vim someplugin.vba
		:so %
		:q
<	然后插件和它的所有部件都会被安装在合适的目录里。注意 用户无须刻意进到
	某个特定的目录来执行此命令。另外，插件的帮助也会被自动安装。

	如果用户决定使用 AsNeeded 插件，vimball 会聪明地把本来要放到
	.vim/plugin/ 中的脚本放到 .vim/AsNeeded/ 里去。

	删除 vimball 安装的插件很容易: >
		vim
		:RmVimball someplugin
<	举例说吧，zip 和 tarball 对应的操作就不是那么简单了。

	Vimball 检视用户的 |'runtimepath'| 来确定把脚本放在哪里。如果可能，通
	常使用 runtimepath 提到的第一个目录。用 >
		:echo &rtp
<	来查看该目录。


==============================================================================
3. Vimball 手册						*vimball-manual*

创 建 VIMBALL							*:MkVimball*
		:[range]MkVimball[!] filename [path]

	行范围内指定要保存在 vimball 里的文件的路径，但不包含通常在
	runtimepath (|'rtp'|) 指定的那部分。例如: >
		plugin/something.vim
		doc/something.txt
<	在此范围的行上使用 >
		:[range]MkVimball filename
<
	建立文件 "filename.vba"，Vimball.vim 随后可以用它来还原那些文件。如果
	文件 "filename.vba" 已经存在，MKVimball 会给出警告而不建立文件。注意 
	这些路径都相对于你的 .vim (vimfiles) 目录，而所有文件都应该在该目录
	下。更准确地说，vimball 插件通常使用 'runtimepath' 里第一个存在的目录
	作为前缀；它不使用绝对路径，除非用户指定的就是如此。

	如果使用感叹号 (!)，MkVimball 总是建立 "filename.vba" 文件。如果已经存
	在则覆盖之。此行为和 |:w| 类似。

	如要强制允许文件名中包含斜杠，也可用感叹号版本实现 (即 :MkVimball!
	path/filename)。

	http://vim.wikia.com/wiki/Using_VimBall_with_%27Make%27 给出的技巧提供
	了用 make 自动生成 vimball 的好方法。


通 过 VIMBALL 建 立 目 录				*g:vimball_mkdir*

	首先尝试 |mkdir()| 命令 (并非所有系统都支持)。

	如果该命令不存在，而且 g:vimball_mkdir 也不存在，它被设为: >
	  |g:netrw_local_mkdir|，如果存在的话
	  "mkdir"              ，如果可执行的话
	  "makedir"            ，如果可执行的话
	  否则                 ，未定义
<	用户可以自定义 g:vimball_mkdir 来直接指定建立目录的命令。vimball 如有
	需要，会通过该命令来建立目录。

控 制 VIMBALL 提 取 目 录				*g:vimball_home*

	通过指定变量 g:vimball_home，你可以覆盖 |'runtimepath'| 的使用。

							*vimball-extract*
		vim filename.vba

	简单编辑一个 vimball 文件，Vimball.vim 会告诉用户必须执行 (source) 该
	归档的内容才能提取其中的文件。

	只有首行是 "Vimball Archiver by Charles E. Campbell, Jr., Ph.D." 的文
	件才会被认为是 vimball 文件，从而才会继续提取操作。

列 出 VIMBALL 中 的 文 件				*:VimballList*

		:VimballList

	本命令告诉 Vim 列出归档里的所有文件，包括每个文件的行数。

手 动 执 行 VIMABALL 提 取				*:UseVimball*

		:UseVimball [path]

	vimball 文件本身包含了该命令；它调用 vimball#Vimball() 例程，后者负责
	对 vimball 解包。用户可以手动执行该命令，而无须执行 vimball；用户还可
	以指定安装的路径来覆盖自动的选择，即 |'runtimepath'| 里的第一个存在的
	目录。

删 除 VIMBALL						*:RmVimball*

		:RmVimball vimballfile [path]

	本命令删除制定 vimball 产生的所有文件 (但不包括它可能建立的任何目录)。
	用户也选择卸载文件的路径 (见 |'runtimepath'|)；否则，缺省是
	'runtimepath' 里的第一个存在的目录。
	为了实现这一点，该目录下包含一个文件 (.VimballRecord)，它包含了目前为
	止所有使用过的 vimball 中要删除的文件的记录。

禁 止 载 入

	如果由于某种原因你不想使用 vimball 提取插件，在 <.vimrc> 中加入以下两
	个变量就可以不载入 vimball.vim: >

		let g:loaded_vimballPlugin= 1
		let g:loaded_vimball      = 1
<
WINDDOWS						*vimball-windows*

	许多 vimball 文件使用 gzip 压缩。Windows 不幸地没有自带解压 gzip 文件
	的工具。幸运的是，Windows 用户可以找到不少解压 gzip 的工具:
>
	    项目     工具/套件    免费   网站
	    ----     ----------   ----   -------
	    7zip        工具       是    http://www.7-zip.org/
	    Winzip      工具       否    http://www.winzip.com/downwz.htm
	    unxutils    套件       是    http://unxutils.sourceforge.net/
	    cygwin      套件       是    http://www.cygwin.com/
	    GnuWin32    套件       是    http://gnuwin32.sourceforge.net/
	    MinGW       套件       是    http://www.mingw.org/
<

==============================================================================
4. Vimball 历史 (英文)					*vimball-history* {{{1

	30 : Dec 08, 2008 * fnameescape() inserted to protect error
			    messaging using corrupted filenames from
			    causing problems
			  * RmVimball supports filenames that would
			    otherwise be considered to have "magic"
			    characters (ie. Abc[1].vba)
	     Feb 18, 2009 * s:Escape(), g:vimball_shq, and g:netrw_shq
			    removed (shellescape() used directly)
	     Oct 05, 2009 * (Nikolai Weibull) suggested that MkVimball
			    be allowed to use slashes in the filename.
	26 : May 27, 2008 * g:vimball_mkdir usage installed.  Makes the
	                    $HOME/.vim (or $HOME\vimfiles) directory if
			    necessary.
	     May 30, 2008 * (tnx to Bill McCarthy) found and fixed a bug:
			    vimball wasn't updating plugins to AsNeeded/
			    when it should
	25 : Mar 24, 2008 * changed vimball#Vimball() to recognize doc/*.??x
			    files as help files, too.
	     Apr 18, 2008 * RmVimball command is now protected by saving and
	                    restoring settings -- in particular, acd was
			    causing problems as reported by Zhang Shuhan
	24 : Nov 15, 2007 * g:vimball_path_escape used by s:Path() to
	                    prevent certain characters from causing trouble
	22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
	21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
	                    handling problem and it now changes \s to /s
	20 : Nov 20, 2006 * substitute() calls have all had the 'e' flag
	                    removed.
	18 : Aug 01, 2006 * vimballs now use folding to easily display their
	                    contents.
			  * if a user has AsNeeded/somefile, then vimball
			    will extract plugin/somefile to the AsNeeded/
			    directory
	17 : Jun 28, 2006 * changes all \s to /s internally for Windows
	16 : Jun 15, 2006 * A. Mechelynck's idea to allow users to specify
			    installation root paths implemented for
			    UseVimball, MkVimball, and RmVimball.
			  * RmVimball implemented
	15 : Jun 13, 2006 * bugfix
	14 : May 26, 2006 * bugfixes
	13 : May 01, 2006 * exists("&acd") used to determine if the acd
			    option exists
	12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
	11 : Apr 27, 2006 * VimballList would create missing subdirectories that
			    the vimball specified were needed.  Fixed.
	10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
			    functions.  Included some more settings in them
			    which frequently cause trouble.
	9  : Apr 26, 2006 * various changes to support Windows' prediction
			    for backslashes and spaces in file and directory
			    names.
	7  : Apr 25, 2006 * bypasses foldenable
			  * uses more exe and less norm! (:yank :put etc)
			  * does better at insuring a "Press ENTER" prompt
			    appears to keep its messages visible
	4  : Mar 31, 2006 * BufReadPost seems to fire twice; BufReadEnter
			    only fires once, so the "Source this file..."
			    message is now issued only once.
	3  : Mar 20, 2006 * removed query, now requires sourcing to be
			    extracted (:so %).  Message to that effect
			    included.
			  * :VimballList  now shows files that would be
			    extracted.
	2  : Mar 20, 2006 * query, :UseVimball included
	1  : Mar 20, 2006 * initial release


==============================================================================
vim:tw=78:ts=8:ft=help:fdm=marker
