pi_spec.txt For Vim バージョン 9.1. Last change: 2006 Apr 24
by Gustavo Niemeyer ~
ここではRPMのspecファイル用のプラグインについて解説する。
このプラグインを使用することでRPMのspecファイルの%changelogセクションを簡単に
更新することができる。まだセクションが存在していないならば、プラグインが作成し
てくれる。既に本日分のエントリがあるのならば、プラグインは本日のエントリに新し
い項目を追加する機会を与えてくれる。書式設定文字列(spec_chglog_format)を準備
していないならば、プラグインはemailアドレスをユーザーに問い合わせ、そこから書
式文字列を構築する。
1. 使い方 spec-how-to-use-it
2. カスタマイズ spec-customizing
==============================================================================
1. 使い方 spec-how-to-use-it
spec_chglogプラグインは以下のようなキーマップを提供する: >
これはspecファイルではマップローカルリーダー(デフォルトは'\')に続いて'c'を押す
ことでプラグインが起動することを意味している。spec_chglog_formatを設定してい
ない場合には、プラグインはユーザーにemailアドレスを問い合わせこの編集セッション
で使用する。
プラグインを起動するたびに、changelogに本日分の項目が既に書かれているかを
チェックする。そのようなエントリが存在すれば、新しいchangelog項目が追加され、
存在しない場合には新しいchangelogエントリが作成される。
spec_chglog_release_infoを有効化して実行した場合には、名前とバージョンとリ
リースも一致するかが確認される。プラグインは充分に賢いので、パッケージリリース
がアップデートされるべき時にはその旨を訊ねてくるから、ユーザーはわざわざそれを
する必要はない。
キーマップ定義 spec-setting-a-map
--------------
既に知っているように、あらゆるVimコマンド(その意味ではあらゆる事が可能)を実行
するためのキーマップは簡単に定義できる。デフォルトのキーマップ<LocalLeader>cが
気に入らないならば、独自のキーを設定するのも良いだろう。次はそれをファイル
.vimrcで行う例で、プラグインを<F5>キーに割り当てている:
>
NOTE: プラグインはユーザーのマッピング変更の要望を尊重するので、再設定は行わな
い。
このコマンドはspecファイルのバッファにのみ適用される。
==============================================================================
2. カスタマイズ spec-customizing
書式設定文字列 spec_chglog_format
--------------
specファイルがどのように表示されるかは簡単にカスタマイズできる。これを行うには
ファイル.vimrcで次のように変数 "spec_chglog_format" を設定する: >
"%a %b %d %Y"はもっとも頻繁に使用される時刻の書式であることに注意。書式文字列
を準備していなければ、SpecChangelogコマンドを最初に実行した時に、ユーザーに
emailアドレスを問い合わせアドレスから自動的にspec_chglog_formatを構築する。
この方法でユーザーは一度emailアドレスを設定するだけで済む。
どのような書式を使うことができるのかを知るには、strftime()関数のマニュアルペー
ジを参照する。
{訳注: strftime()も参照}
新規項目の挿入箇所 spec_chglog_prepend
------------------
プラグインは通常新しい%changelogエントリの項目(エントリそのものではないこと
に注意)を、既に存在するものの後に挿入しようとする。変数spec_chglog_prependを設
定すれば: >
既に存在するものの前に新規項目を挿入するようになる。
リリース情報の挿入 spec_chglog_release_info
------------------
望むのならば、プラグインはchangelogエントリごとのリリース情報を自動的に挿入す
ることができる。この機能を利用することの利点の1つは、最後の変更の後にリリース
を更新すべきかそうでないかをコントロールできることである。パッケージのバージョ
ンかリリースを更新していない時には、パッケージリリースを更新すべきならばその旨
をユーザーに問い合わせてくれる。この機能を利用するには、.vimrcに次のコードを書
き加える: >
こうすれば、changelogエントリの最初の項目が次のようなものの場合に問い合わせが
発生する: >
リリース更新機能が気に入らず、古いリリースを検出するたびに毎回"No"と答えるのに
嫌気が差したならば、次のようにして無効化できる: >
幸運を!!
vim:tw=78:ts=8:noet:ft=help:norl:
by Gustavo Niemeyer ~
ここではRPMのspecファイル用のプラグインについて解説する。
このプラグインを使用することでRPMのspecファイルの%changelogセクションを簡単に
更新することができる。まだセクションが存在していないならば、プラグインが作成し
てくれる。既に本日分のエントリがあるのならば、プラグインは本日のエントリに新し
い項目を追加する機会を与えてくれる。書式設定文字列(spec_chglog_format)を準備
していないならば、プラグインはemailアドレスをユーザーに問い合わせ、そこから書
式文字列を構築する。
1. 使い方 spec-how-to-use-it
2. カスタマイズ spec-customizing
==============================================================================
1. 使い方 spec-how-to-use-it
spec_chglogプラグインは以下のようなキーマップを提供する: >
:map <buffer> <LocalLeader>c <Plug>SpecChangelog
<これはspecファイルではマップローカルリーダー(デフォルトは'\')に続いて'c'を押す
ことでプラグインが起動することを意味している。spec_chglog_formatを設定してい
ない場合には、プラグインはユーザーにemailアドレスを問い合わせこの編集セッション
で使用する。
プラグインを起動するたびに、changelogに本日分の項目が既に書かれているかを
チェックする。そのようなエントリが存在すれば、新しいchangelog項目が追加され、
存在しない場合には新しいchangelogエントリが作成される。
spec_chglog_release_infoを有効化して実行した場合には、名前とバージョンとリ
リースも一致するかが確認される。プラグインは充分に賢いので、パッケージリリース
がアップデートされるべき時にはその旨を訊ねてくるから、ユーザーはわざわざそれを
する必要はない。
キーマップ定義 spec-setting-a-map
--------------
既に知っているように、あらゆるVimコマンド(その意味ではあらゆる事が可能)を実行
するためのキーマップは簡単に定義できる。デフォルトのキーマップ<LocalLeader>cが
気に入らないならば、独自のキーを設定するのも良いだろう。次はそれをファイル
.vimrcで行う例で、プラグインを<F5>キーに割り当てている:
>
au FileType spec map <buffer> <F5> <Plug>SpecChangelog
<NOTE: プラグインはユーザーのマッピング変更の要望を尊重するので、再設定は行わな
い。
このコマンドはspecファイルのバッファにのみ適用される。
==============================================================================
2. カスタマイズ spec-customizing
書式設定文字列 spec_chglog_format
--------------
specファイルがどのように表示されるかは簡単にカスタマイズできる。これを行うには
ファイル.vimrcで次のように変数 "spec_chglog_format" を設定する: >
let spec_chglog_format = "%a %b %d %Y My Name <my@email.com>"
"%a %b %d %Y"はもっとも頻繁に使用される時刻の書式であることに注意。書式文字列
を準備していなければ、SpecChangelogコマンドを最初に実行した時に、ユーザーに
emailアドレスを問い合わせアドレスから自動的にspec_chglog_formatを構築する。
この方法でユーザーは一度emailアドレスを設定するだけで済む。
どのような書式を使うことができるのかを知るには、strftime()関数のマニュアルペー
ジを参照する。
{訳注: strftime()も参照}
新規項目の挿入箇所 spec_chglog_prepend
------------------
プラグインは通常新しい%changelogエントリの項目(エントリそのものではないこと
に注意)を、既に存在するものの後に挿入しようとする。変数spec_chglog_prependを設
定すれば: >
let spec_chglog_prepend = 1
既に存在するものの前に新規項目を挿入するようになる。
リリース情報の挿入 spec_chglog_release_info
------------------
望むのならば、プラグインはchangelogエントリごとのリリース情報を自動的に挿入す
ることができる。この機能を利用することの利点の1つは、最後の変更の後にリリース
を更新すべきかそうでないかをコントロールできることである。パッケージのバージョ
ンかリリースを更新していない時には、パッケージリリースを更新すべきならばその旨
をユーザーに問い合わせてくれる。この機能を利用するには、.vimrcに次のコードを書
き加える: >
let spec_chglog_release_info = 1
こうすれば、changelogエントリの最初の項目が次のようなものの場合に問い合わせが
発生する: >
+ name-1.0-1cl
リリース更新機能が気に入らず、古いリリースを検出するたびに毎回"No"と答えるのに
嫌気が差したならば、次のようにして無効化できる: >
let spec_chglog_never_increase_release = 1
幸運を!!
vim:tw=78:ts=8:noet:ft=help:norl: