*pi_vimball.txt*	For Vim version 8.0.  最近更新: 2017年8月

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

Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
	  (remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2015 by Charles E. Campbell		*Vimball-copyright*
	The VIM LICENSE (see |copyright|) applies to the files in this
	package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
	except use "vimball" instead of "VIM".  Like anything else that's free,
	vimball.vim and its associated files are provided *as is* and comes with
	no warranty of any kind, either expressed or implied.  No guarantees
	of merchantability.  No guarantees of suitability for any purpose.  By
	using this plugin, you agree that in no event will the copyright
	holder be liable for any damages resulting from the use of this
	software. 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_localmkdir|，如果存在的话
	  "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" 的文件才会被认为
	是 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

	37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
			    the autocmds in vimballPlugin.vim
	     Jul 06, 2015 * there are two uses of tabc; changed to tabc!
	34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
			    prepending the current directory to it.
	33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
			  * Changed silent! to sil! (shorter)
			  * Safed |'swf'| setting (during vimball extraction,
			    its now turned off)
	32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
			    :so someplugin.vba.gz (and the other supported
			    compression types) now works
			  * (Jan Steffens) added support for xz compression
			  * fenc extraction was erroneously picking up the
			    end of the line number when no file encoding
			    was present.  Fixed.
			  * By request, beginning the switchover from the vba
			    extension to vmb.  Currently both are supported;
			    MkVimball, however, now will create *.vmb files.
	     Feb 11, 2011 * motoyakurotsu reported an error with vimball's
			    handling of zero-length files
	     Feb 18, 2016 * Changed =~ to =~# where appropriate
	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
			    (defunct: |fnameescape()| and |shellescape()|
			    now used instead)
	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
