Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / pi_spec.jax
blob74f59c3f5bf8d59c60ccc59665d136796df03329
1 *pi_spec.txt*   For Vim バージョン 7.2.  Last change: 2006 Apr 24
3 by Gustavo Niemeyer ~
5 ここではRPMのspecファイル用のプラグインについて解説する。
7 このプラグインを使用することでRPMのspecファイルの%changelogセクションを簡単に
8 更新することができる。まだセクションが存在していないならば、プラグインが作成し
9 てくれる。既に本日分のエントリがあるのならば、プラグインは本日のエントリに新し
10 い項目を追加する機会を与えてくれる。書式設定文字列(|spec_chglog_format|)を準備
11 していないならば、プラグインはemailアドレスをユーザに問い合わせ、そこから書式
12 文字列を構築する。
14 1. 使い方          |spec-how-to-use-it|
15 2. カスタマイズ               |spec-customizing|
17 ==============================================================================
18 1. 使い方                                  *spec-how-to-use-it*
20 spec_chglogプラグインは以下のようなキーマップを提供する: >
22         :map <buffer> <LocalLeader>c <Plug>SpecChangelog
24 これはspecファイルではマップローカルリーダ(デフォルトは'\')に続いて'c'を押すこ
25 とでプラグインが起動することを意味している。|spec_chglog_format|を設定していな
26 い場合には、プラグインはユーザにemailアドレスを問い合わせこの編集セッションで
27 使用する。
29 プラグインを起動するたびに、changelogに本日分の項目が既に書かれているかを
30 チェックする。そのようなエントリが存在すれば、新しいchangelog項目が追加され、
31 存在しない場合には新しいchangelogエントリが作成される。
32 |spec_chglog_release_info|を有効化して実行した場合には、名前とバージョンとリ
33 リースも一致するかが確認される。プラグインは充分に賢いので、パッケージリリース
34 がアップデートされるべき時にはその旨を訊ねてくるから、ユーザはわざわざそれをす
35 る必要はない。
37 キーマップ定義                                 *spec-setting-a-map*
38 --------------
40 既に知っているように、あらゆるVimコマンド(その意味ではあらゆる事が可能)を実行
41 するためのキーマップは簡単に定義できる。デフォルトのキーマップ<LocalLeader>cが
42 気に喰わないならば、独自のキーを設定するのも良いだろう。次はそれをファイル.
43 vimrcで行なう例で、プラグインを<F5>キーに割り当てている:
45         au FileType spec map <buffer> <F5> <Plug>SpecChangelog
47 NOTE: プラグインはユーザのマッピング変更の要望を尊重するので、再設定は行なわな
48       い。
50 このコマンドはspecファイルのバッファにのみ適用される。
53 ==============================================================================
54 2. カスタマイズ                                       *spec-customizing*
56 書式設定文字列                                 *spec_chglog_format*
57 --------------
59 specファイルがどのように表示されるかは簡単にカスタマイズできる。これを行なうに
60 はファイル.vimrcで次のように変数"spec_chglog_format"を設定する: >
62         let spec_chglog_format = "%a %b %d %Y My Name <my@email.com>"
64 "%a %b %d %Y"はもっとも頻繁に使用される時刻の書式であることに注意。書式文字列
65 を準備していなければ、SpecChangelogコマンドを最初に実行した時に、ユーザにemail
66 アドレスを問い合わせアドレスから自動的に|spec_chglog_format|を構築する。この方
67 法でユーザは一度emailアドレスを設定するだけで済む。
69 どのような書式を使うことができるのかを知るには、strftime()関数のマニュアルペー
70 ジを参照する。
71 (訳注: |strftime()|も参照)
73 新規項目の挿入箇所                               *spec_chglog_prepend*
74 ------------------
76 プラグインは通常新しい%changelogエントリの項目(エントリそのものではないこと
77 に注意)を、既に存在するものの後に挿入しようとする。変数spec_chglog_prependを設
78 定すれば: >
80         let spec_chglog_prepend = 1
82 既に存在するものの前に新規項目を挿入するようになる。
84 リリース情報の挿入                               *spec_chglog_release_info*
85 ------------------
87 望むのならば、プラグインはchangelogエントリごとのリリース情報を自動的に挿入す
88 ることができる。この機能を利用することの利点の1つは、最後の変更の後にリリース
89 を更新すべきかそうでないかをコントールできることである。パッケージのバージョン
90 かリリースを更新していない時には、パッケージリリースを更新すべきならばその旨を
91 ユーザに問い合わせてくれる。この機能を利用するには、.vimrcに次のコードを書き加
92 える: >
94         let spec_chglog_release_info = 1
96 こうすれば、changelogエントリの最初の項目が次のようなものの場合に問い合わせが
97 発生する:
99         + name-1.0-1cl
101 リリース更新機能が気に入らず、古いリリースを検出するたびに毎回"No"と答えるのに
102 嫌気が差したならば、次のようにして無効化できる: >
104         let spec_chglog_never_increase_release = 1
107 幸運を!!
109 vim:tw=78:ts=8:ft=help:norl: