PI_VIMBALL

*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

Generated by vim2html on Thu Aug 11 19:14:49 UTC 2011