*pi_vimball.txt* For Vim バージョン 8.1. Last change: 2016 Apr 11 ---------------- Vimball Archiver ---------------- Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM> (remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2015 by Charles E. Campbell 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. 目次 | |vimball-contents| |
2. はじめに | |vimball-intro| |
3. マニュアル | |vimball-manual| |
MkVimball | |:MkVimball| |
UseVimball | |:UseVimball| |
RmVimball | |:RmVimball| |
4. 開發履歷 | |vimball-history| |
Vimball はプラグインの利用方法をシンプルにします。vimball は次のやうに實行するだけで利用できます:
vim someplugin.vba :so % :q
すると、プラグインが適切なディレクトリにインストールされます。實行前に適切なディレクトリに移動する必要なんてありません。プラグインのヘルプも自動的にインストールされます。
AsNeeded プラグインを使つてゐる場合、vimball は .vim/plugin/ に入る豫定のものを適切に .vim/AsNeeded/ に入れます。
vimball でインストールしたプラグインを削除するのは簡單です:
vim :RmVimball someplugin
例へば zip や tarball でインストールした場合はこのやうに簡單ではありません。
Vimball はユーザーの |'runtimepath'| 設定を見てスクリプトのインストール場所を決定します。通常は runtimepath の最初の使用可能なディレクトリが使はれます。次のコマンドでディレクトリを確認できます
:echo &rtp
:[range]MkVimball[!] filename [path]
作成する vimball に含めるファイルのパスを書き、それらの行を範圍指定して實行します。パスは runtimepath (|'rtp'|) からの相對パスです。例:
plugin/something.vim doc/something.txt
この 2 行を範圍指定して次のやうに實行すると
:[range]MkVimball filename
"filename.vba" といふ名前のファイルが作成されます。Vimball.vim を使ふことでこのファイルから元のファイルを再構成できます。"filename.vba" が既に存在する場合は警告が表示され、ファイルは作成されません。ファイルのパスは .vim (vimfiles) ディレクトリからの相對パスで、ファイルが存在してゐる必要があります。通常は |'runtimepath'| の最初のディレクトリが相對パスのルートとして使はれます。特別な理由がない限り絕對パスを使はないでください。
感歎符 (!) を指定すると、既存の "filename.vba" は上書きされます。|:w| コマンドの動作と同じやうなものです。
ファイル名にスラッシュを含めたい場合も感歎符を付ける必要があります (例: :MkVimball! path/filename)。
http://vim.wikia.com/wiki/Using_VimBall_with_%27Make%27 に、作品の vimball の作成を make を使つて自動化するための tip が揭載されてゐます。
最初に |mkdir()| コマンドが試されます (それをサポートしてゐないシステムもあります)。
|mkdir()| が使えず、g:vimball_mkdir が設定されてゐない場合は、次の順番で設定されます:
|g:netrw_localmkdir| | (變數が存在するなら) |
"mkdir" | (コマンドが存在するなら) |
"makedir" | (コマンドが存在するなら) |
すべてだめなら | (未定義) |
g:vimball_mkdir にはディレクトリ作成コマンドを指定します。自分で設定することもできます。このコマンドは vimball 展開時にディレクトリを作成するために使はれます。
vimball によつて使用される |'runtimepath'| を指定したい場合は g:vimball_home 變數を設定してください。
vim filename.vba
ファイルを展開するには、Vimball ファイルを Vim で開き、そのファイルを實行 (:source %
) してください。
Vimball ファイルの 1 行目が "Vimball Archiver by Charles E. Campbell" となつてゐる場合のみ、ファイルを展開できます。
:VimballList
このコマンドを實行すると、Vimball ファイルに含まれてゐるファイルと、それぞれの行數が表示されます。
:UseVimball [path]
このコマンドは vimball に埋め込まれます。これは vimbal#Vimball() を呼び出して vimball を展開します。vimball を實行する代はりに、このコマンドを自分で實行しても構ひません。その場合、インストール先のパスを指定できます。指定がない場合は |'runtimepath'| の最初の存在するディレクトリが使用されます。
:RmVimball vimballfile [path]
vimball に含まれてゐたすべてのファイルを削除します (ディレクトリは削除されません)。アンインストール元のパスを指定できます (|'runtimepath'| 參照)。指定がない場合は |'runtimepath'| の最初の存在するディレクトリが使用されます。
この機能を實現するため、インストールパスに .VimballRecord といふファイルが作成され、削除すべきファイル (それまでに vimball によつてインストールされたファイル) が記錄されます。
もしなんらかの理由で vimballs プラグインを使ひたくない場合は、次の 2 つの變數を <.vimrc> で設定すると、vimball.vim の讀み込みを無效化できます:
let g:loaded_vimballPlugin= 1 let g:loaded_vimball = 1
多くの vimball ファイルは gzip で壓縮されてゐます。殘念ながら Windowsには gzip 壓縮されたファイルを展開するためのツールが含まれてゐません。しかし幸運にも、Windows ユーザーにも使へる gzip 展開ツールがいくつかあります:
Item | Tool/Suite | Free | Website |
---|---|---|---|
7zip | tool | y | http://www.7-zip.org/ |
Winzip | tool | n | http://www.winzip.com/downwz.htm |
unxutils | suite | y | http://unxutils.sourceforge.net/ |
cygwin | suite | y | http://www.cygwin.com/ |
GnuWin32 | suite | y | http://gnuwin32.sourceforge.net/ |
MinGW | suite | y | http://www.mingw.org/ |
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' predilection 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