[r198]: trunk / doc / pi_vimball.txt Maximize Restore History

Download this file

pi_vimball.txt    228 lines (184 with data), 9.8 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
*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