Up: 目次   [Index]


Vim script の最新版をダウンロードする

*pi_getscript.txt*  For Vim バージョン 8.1.  Last change: 2017 Aug 01

                GETSCRIPT REFERENCE MANUAL  by Charles E. Campbell

Authors:  Charles E. Campbell  <NdrOchip@@ScampbellPfamilyA.Mbiz>
          (remove NOSPAM from the email address)
Copyright: (c) 2004-2012 by Charles E. Campbell
        The VIM LICENSE (see |copyright|) applies to the files in this
        package, including getscriptPlugin.vim, getscript.vim,
        GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
        instead of "Vim".  Like anything else that's free, getscript 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!

Getscript はあなたが使つてゐる Vim script の最新バージョンを簡單に檢索するためのプラグインです。|:GLVS| と入力すると getscript が實行されます。すると、<GetLatestVimScripts.dat> ファイル (|GetLatestVimScripts_dat| 參照) に列擧されたスクリプトの最新バージョンが http://vim.sf.net/ から取得されます。

1. 目次

1. 目次|glvs-contents|
2. GetLatestVimScripts -- 準備|glvs-install|
3. GetLatestVimScripts の使ひ方|glvs-usage|
4. GetLatestVimScripts データファイル|glvs-data|
5. GetLatestVimScripts 對應プラグイン|glvs-plugins|
6. GetLatestVimScripts 自動インストール|glvs-autoinstall|
7. GetLatestViMScripts オプション|glvs-options|
8. GetLatestVimScripts アルゴリズム|glvs-alg|
9. GetLatestVimScripts 開發履歷|glvs-hist|

2. GetLatestVimScripts -- 準備

Vim に附屬の getscript

Vim 7.0 には GetLatestVimScripts.dist (サンプルファイル) が附屬してゐないので、自分で作成する必要があります!|GetLatestVimScripts_dat| 參照。

vim.sf.net から入手した getscript

Note:
GetLatestVimScripts.dist のコピーは、GetLatestVimScripts.tar.bz2 をダウンロードして初めて getscript をインストールするときだけ必要です。

GetLatestVimScripts.dist は自分の一覽を作成するためのサンプルまたはテンプレートとして使つてください。ファイルにはスクリプトがいくつか列擧されてゐますが、必要なければ消してください。重要なのはファイル先頭の 2 行だけです。

GetLatestVimScripts の動作には wget か curl が必要です。

  1. ファイルが壓縮されてゐる場合: gunzip getscript.vba.gz
  2. Unix:
    vim getscript.vba
    :so %
    :q
    cd ~/.vim/GetLatest
    mv GetLatestVimScripts.dist GetLatestVimScripts.dat
    

    (GetLatestVimScripts.dat を編輯して、インストールしたいプラグインの一覽を書いてください。|GetLatestVimScripts_dat| 參照)

  3. Windows:
    vim getscript.vba
    :so %
    :q
    cd **path-to-vimfiles**/GetLatest
    mv GetLatestVimScripts.dist GetLatestVimScripts.dat
    

    (GetLatestVimScripts.dat を編輯して、インストールしたいプラグインの一覽を書いてください。|GetLatestVimScripts_dat| 參照)

3. GetLatestVimScripts の使ひ方

次のコマンドを實行すると GetLatestVimScripts() が呼び出されます

:GLVS

同じ名前のコマンドが他のプラグインによつて既に定義されてゐた場合は、次のコマンドを使つてください

:GetLatestVimScripts

このコマンドは http://vim.sourceforge.net/ をチェックしてスクリプトを更新し、許可がある場合はそれを自動的にインストールします。そのために次のファイルが使はれます:

.vim/GetLatest/GetLatestVimScripts.dat                    (unix)

または

..wherever..\vimfiles\GetLatest\GetLatestVimScripts.dat   (windows)

(|glvs-data| 參照)。そして、[.vim|vimfiles]/plugin ディレクトリ內のプラグインが檢査されます (|glvs-plugins| 參照)。

ダウンロードされたスクリプトは

~/.vim/GetLatest (unix) または ...\vimfiles\GetLatest (windows)

に保存されます。vimrc ファイルに次の設定を書いておくと、ダウンロードしたスクリプトが自動的にインストールされます:

let g:GetLatestVimScripts_allowautoinstall=1

<GetLatestVimScripts.dat> ファイルは自動的に更新され、ダウンロードした最新スクリプトのバージョンが反映されます。(|glvs-options| も參照)

4. GetLatestVimScripts データファイル

<GetLatestVimScripts.dat> ファイルの先頭 2 行は次のやうなテキストになつてゐます:

        ScriptID SourceID Filename
        --------------------------

その下に 3列 (數値 數値 テキスト) の行が續きます。GetLatest/GetLatestVimScripts.dist ファイルはそのやうなデータファイルの例になつてゐます。コメントは #... で書くことができます。

1 列目の數値はスクリプトの ScriptID です。Web ブラウザーで http://vim.sf.net/ にあるスクリプトを探すとき、スクリプトへのリンクにマウスカーソルを合はせると、次のやうな url が確認できますが

http://vim.sourceforge.net/scripts/script.php?script_id=40

この "40" が ScriptID です。GetLatestVimScripts はこの番號を使つてスクリプトのページにアクセスします。この番號は最初に vim.sf.net にプラグインをアップロードしたときに付けられます。

2 列目の數値はスクリプトの SourceID です。SourceID は vim.sf.net にスクリプトがアップロードされるごとに新しい番號が付けられます。したがつて、その番號を見ればスクリプトがアップロードされた時期が分かります。SourceID に 1 を指定すると、そのスクリプトがまだ最新版に更新されてゐないといふことを明示できます。

GetLatestVimScripts は、vim.sf.net のスクリプトのページから SourceID を拔き出して、それが GetLatestVimScripts.dat に記錄された番號よりも大きければ、そのスクリプトをダウンロードします。(|GetLatestVimScripts_dat| 參照)

スクリプトの作者が、プラグインに特殊なコメント行を書いてゐた場合、そのコメント行を使つて <GetLatestVimScripts.dat> が生成されます。スクリプトの依存關係も處理されます。例:

" GetLatestVimScripts: 884  1 :AutoInstall: AutoAlign.vim

このコメントは、チェックすべきスクリプトの番號が 884 番であること、そのスクリプトが自動インストール可能であることを示してゐます。getscript はこの情報を GetLatestVimScripts.dat に保存します (まだなければ)。次のやうな行になります:

884 1 :AutoInstall: AutoAlign.vim

詳細は |glvs-plugins| を參照してください。このやうに、GetLatestVimScripts はプラグインを更新するための包括的な機能を提供してゐます。

要約:

<GetLatestVimScripts.dat> ファイルの例:

ScriptID SourceID Filename
--------------------------
294 1 :AutoInstall: Align.vim
120 2 Decho.vim
 40 3 DrawIt.tar.gz
451 4 EasyAccents.vim
195 5 engspchk.vim
642 6 GetLatestVimScripts.vim
489 7 Manpageview.vim

Note:
最初の 2 行は必須です。ただしコメントと同樣に無視されます。

5. GetLatestVimScripts 對應プラグイン

(このセクションはプラグイン作者向けの說明です)

プラグインの作者がプラグインのどこかに以下のやうなコメントを書いてゐた場合、GetLatestVimScripts はそれを見附けて、GetLatestVimScripts.dat ファイルの構築に使ひます:

                         src_id
                            v
" GetLatestVimScripts: ### ### yourscriptname
                        ^
                    scriptid

プラグインの作者は、上記のやうな行を書いて自分のプラグインを參照させてください。複數行書けるので、依存してゐる別のプラグインを參照することもできます。その場合でも書式は同じです。

プラグインが自動インストール可能 (|glvs-autoinstall| 參照) なら (ほとんどのスクリプトはさうだと思ひますが)、"yourscriptname" の前に :AutoInstall: を指定することができます。

                         src_id
                            v
" GetLatestVimScripts: ### ### :AutoInstall: yourscriptname
                        ^
                    scriptid

Note:
:AutoInstall: 機能の實行にはプラグイン作者とユーザーの兩者の許可が必要です。

GetLatestVimScripts 命令が未登錄の場合は、ユーザーの GetLatest/GetLatestVimScripts.dat ファイルに追加されます。あなたのプラグインが依存してゐるスクリプトのインストールを比較的簡單に自動化できます。

プラグインの作者の方は、自分の環境で自分のプラグインをダウンロードしたくはないと思ひます。リリース前の作業中のスクリプトが上書きされると困りますよね。それを防ぐための仕組みが用意されてゐます。次の行を <GetLatestVimScripts.dat> に書いてください:

0 0 yourscriptname

スクリプト "yourscriptname" に對する GetLatestVimScript 命令は處理されなくなります。その命令行は <GetLatestVimScripts.dat> には登錄されず、スクリプトはダウンロードされません。これは :AutoInstall: オプションを指定してゐるときには特に重要です。

"0 0 yourscriptname" の指定ではスクリプトに書かれた "yourscriptname" と同じ名前を使つてください。

6. GetLatestVimScripts 自動インストール

GetLatestVimScripts には自動インストール機能があります。スクリプトによつてはインストールに特別な作業が必要なものもありますが (各スクリプトのインストール方法を確認してください)、ほとんどのスクリプトは自動インストール可能です。

自動インストールするには、データファイルのコメントフィールドを次のテキストで開始してください (前後の空白は無視されます):

:AutoInstall:

兩端のコロンは必須です。必ずコメントフィールド (yourscriptname) の先頭に書いてください。

以下の行を <.vimrc> に書くと、自動インストール機能を無效にできます:

let g:GetLatestVimScripts_allowautoinstall= 0

:AutoInstall: が有效になつてゐる場合 (初期設定)、次のやうな擴張子のファイルが自動インストール可能です:

---.tar.bz2  : decompressed & untarred in .vim/ directory
---.vba.bz2  : decompressed in .vim/ directory, then vimball handles it
---.vim.bz2  : decompressed & moved into .vim/plugin directory
---.tar.gz   : decompressed & untarred in .vim/ directory
---.vba.gz   : decompressed in .vim/ directory, then vimball handles it
---.vim.gz   : decompressed & moved into .vim/plugin directory
---.vba      : unzipped in .vim/ directory
---.vim      : moved to .vim/plugin directory
---.zip      : unzipped in .vim/ directory

ただし、壓縮ファイルを展開するか、あるいはファイルをプラグインディレクトリにコピーするだけでインストール可能である必要があります。Vimball は常に自動インストール可能です。

自動インストールできないのはどんな場合でせうか? 例を示します:

.vim/after/syntax/blockhl.vim

<blockhl.vim> は C/C++ のブロックを强調表示するスクリプトです。次の場所から入手できます:

http://vim.sourceforge.net/scripts/script.php?script_id=104

現在、Vim の after/syntax はファイルタイプと同じ名前のスクリプトしかサポートしてません (blockhl.vim の場合は、after/syntax/c.vim)。そのため、自動的にインストールすると、ユーザーの after/syntax/c.vim を上書きする可能性があります。

私は個人的に、<aftersyntax.vim> を after/syntax/c.vim にコピーして、after/syntax/c/ ディレクトリを使へるやうにしてゐます:

http://vim.sourceforge.net/scripts/script.php?script_id=1023

このスクリプトを使ふと、after/syntax/c ディレクトリにある複數のファイルをシンタックスファイルとして使へます。ユーザーの after/syntax/c.vim を上書きしてしまふ可能性があるため、配布物には含めてゐません。

7. GetLatestVimScripts オプション

g:GetLatestVimScripts_wget

初期設定: "wget"

スクリプトをダウンロードするのに使はれるプログラム。

g:GetLatestVimScripts_options

初期設定: "-q -O"

g:GetLatestVimScripts_wget に設定されたプログラムの起動引數。

g:GetLatestVimScripts_allowautoinstall

初期設定: 1

スクリプトの自動インストールを許可するかどうかの設定。自動インストールはプラグインの作者によつてそのプラグインが自動インストール可能であることが明示されてゐる必要があります (それには :AutoInstall: キーワードを GetLatestVimScripts コメント行に指定します)。

g:GetLatestVimScripts_autoinstalldir

初期設定= $HOME/.vim (linux)
初期設定= $HOME/vimfiles (windows)

自動インストールスクリプト (:AutoInstall:) のインストール先を變更できます。vimball のインストールには適用されません。

g:GetLatestVimScripts_scriptaddr

初期設定=’http://vim.sourceforge.net/script.php?script_id=’

あなたのシステムで設定が必要な場合に上書きしてください。

... =’http://vim.sourceforge.net/script/script.php?script_id=’

8. GetLatestVimScripts アルゴリズム

Vim の Web サイトでは、スクリプト ID を利用してページを動的に生成してゐます。

http://vim.sourceforge.net/scripts/script.php?script_id=40

ページ內には最新の ソースID が書かれてゐます。ソースID の番號は再利用されないので、その番號が、GetLatestVimScripts.dat に記錄された番號より大きい場合は、新しいスクリプトがダウンロードできるといふことです。

スクリプトをダウンロードしたら、內部データベースの ScriptID, SourceID, scriptname を更新します。

自動インストールの手順は次の通り:

ファイルを GetLatest/ から以下のディレクトリに移動する
        Unix   : $HOME/.vim
        Windows: $HOME\vimfiles
if ファイルの擴張子 == ".bz2"
        bunzip2 <file>
else if ファイルの擴張子 == ".gz"
        gunzip <file>
そして、
if ファイルの擴張子 == ".zip"
        unzip <file>
else if ファイルの擴張子 == ".tar"
        tar -oxvf <file>
else if ファイルの擴張子 == ".vim"
        plugin ディレクトリに移動

9. GetLatestVimScripts 開發履歷

 v36 Apr 22, 2013 : * (glts) suggested use of plugin/**/*.vim instead of
                      plugin/*.vim in globpath() call.
                    * (Andy Wokula) got warning message when setting
                      g:loaded_getscriptPlugin
 v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script URL has
                      changed (somewhat).  However, it doesn't work, and
                      the original one does (under Linux). I'll make it
                      yet-another-option.
 v34 Jun 23, 2011 : * handles additional decompression options for tarballs
                      (tgz taz tbz txz)
 v33 May 31, 2011 : * using fnameescape() instead of escape()
                    * *.xz support
 v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression
 v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
                    * (David Schaefer) the acd option interferes with vimballs
                      Solution: bypass the acd option
 v30 Jun 13, 2008 : * GLVS now checks for existence of fnameescape() and will
                      issue an error message if it is not supported
 v29 Jan 07, 2008 : * Bram M pointed out that cpo is a global option and that
                      getscriptPlugin.vim was setting it but not restoring it.
 v28 Jan 02, 2008 : * improved shell quoting character handling, cygwin
                      interface, register-a bypass
     Oct 29, 2007   * Bill McCarthy suggested a change to getscript that avoids
                      creating pop-up windows
 v24 Apr 16, 2007 : * removed save&restore of the fo option during script
                      loading
 v23 Nov 03, 2006 : * ignores comments (#...)
                    * handles vimballs
 v22 Oct 13, 2006 : * supports automatic use of curl if wget is not
                      available
 v21 May 01, 2006 : * now takes advantage of autoloading.
 v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
                      unzip needs the -o flag to overwrite.
 v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
                      script! Fixed.
 v18 Mar 21, 2005 : * bugfix to automatic database construction
                    * bugfix - nowrapscan caused an error
                      (tnx to David Green for the fix)
     Apr 01, 2005   * if shell is bash, "mv" instead of "ren" used in
                      :AutoInstall:s, even though its o/s is windows
     Apr 01, 2005   * when downloading errors occurred, GLVS was
                      terminating early.  It now just goes on to trying
                      the next script (after trying three times to
                      download a script description page)
     Apr 20, 2005   * bugfix - when a failure to download occurred,
                      GetLatestVimScripts would stop early and claim that
                      everything was current.  Fixed.
 v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
                      defaults to 1, can be used to prevent all
                      :AutoInstall:
 v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
                    * fixed bug with :AutoInstall: use of helptags
 v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
                      always preventing downloads (just usually).  Fixed.
 v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
                      s:dotvim.  Fixed.
 v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
                      is zero.  Useful for script authors; that way their
                      own GetLatestVimScripts activity won't overwrite
                      their scripts.
 v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
                      was intended only for testing.  Removed, now works.
                    * :AutoInstall: implemented
 v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
                    * :GetLatestVimScripts command
                    * (runtimepath)/GetLatest/GetLatestVimScripts.dat
                      now holds scripts that need updating
 v10 Apr 19, 2004 : * moved history from script to doc
 v9  Jan 23, 2004 :   windows (win32/win16/win95) will use
                      double quotes ("") whereas other systems will use
                      single quotes ('') around the urls in calls via wget
 v8  Dec 01, 2003 :   makes three tries at downloading
 v7  Sep 02, 2003 :   added error messages if "Click on..." or "src_id="
                      not found in downloaded webpage
                      Uses t_ti, t_te, and rs to make progress visible
 v6  Aug 06, 2003 :   final status messages now display summary of work
                      ( "Downloaded someqty scripts" or
                        "Everything was current")
                      Now GetLatestVimScripts is careful about downloading
                      GetLatestVimScripts.vim itself!
                      (goes to <NEW_GetLatestVimScripts.vim>)
 v5  Aug 04, 2003 :   missing an endif near bottom
 v4  Jun 17, 2003 :   redraw! just before each "considering" message
 v3  May 27, 2003 :   Protects downloaded files from errant shell
                      expansions with single quotes: '...'
 v2  May 14, 2003 :   extracts name of item to be obtained from the
                      script file.  Uses it instead of comment field
                      for output filename; comment is used in the
                      "considering..." line and is now just a comment!
                    * Fixed a bug: a string-of-numbers is not the
                      same as a number, so I added zero to them
                      and they became numbers.  Fixes comparison.

Up: 目次   [Index]