パーソナルツール

autodate.vim : ファイルのタイムスタンプ記述を自動的に更新

— カテゴリ: , ,
作者: 小見 拓 最終変更 2012年01月12日 12時43分

ファイルの更新時に、その更新時間を自動的にファイルに書き込んでくれるスクリプトです。 ファイル保存時にファイル内を検索して、 特定のキーワードを見つけたらタイムスタンプをセットする仕組みになっています。 Kaoriya版vimに添付しています。 (Windows, Mac)

概要

autodate.vim : A customizable plugin to update time stamps automatically.
http://www.vim.org/scripts/script.php?script_id=291

ファイルの更新時に、その更新時間を自動的にファイルに書き込んでくれるスクリプトです。
ファイル保存時にファイル内を検索して、 特定のキーワードを見つけたらタイムスタンプをセットする仕組みになっています。
Kaoriya版vimに添付しています。

このスクリプトは、CVSの$Date: 2008/01/12 01:07:09 $キーワード置換に似た機能を提供します。

保存前

上のようなキーワードを書き込んでおくと、
ファイルを保存した時に、下のようなタイムスタンプが書き込まれます。

保存後

インストール方法

Kaoirya版vimにはスクリプトが添付されていて、かつ、スクリプトの機能が有効な状態になっているので、 特に何もする必要はありません。

Kaoriya版以外のvimを使っている人は スクリプトをダウンロード して、
そのスクリプトをpluginディレクトリにコピーしてください。

ファイル URL
autodate.vim http://www.vim.org/scripts/script.php?script_id=291

使用方法

このスクリプトはファイルの保存時に、事前に指定した2つのキーワードを見つけると、 それらのキーワード間にタイムスタンプを挿入する仕組みになっています。

デフォルトの状態では、
「Last Change:」と「.」をファイル内に書き込んでおくと、
その間のスペースにタイムスタンプが書き込まれます。

設定

タイムスタンプ挿入箇所の指定

「autodate_keyword_pre」、「autodate_keyword_post」の2つの設定は、 タイムスタンプを入れる場所を指定するためのものです。

autodate.vimスクリプトは、
"autodate_keyword_pre"で設定してキーワードと、
"autodate_keyword_post"で設定してキーワードに挟まれた場所に
タイムスタンプを挿入します。

デフォルトでは、
「Last Change:」と 「.」の間にタイムスタンプを入れる設定になっています。

設定 デフォルト値 設定例
autodate_keyword_pre Last Change: :let autodate_keyword_pre="[Date:"
autodate_keyword_post . :let autodate_keyword_post="]"

タイムスタンプ挿入箇所の検索範囲の指定

「autodate_lines」は置換キーワードを何行検索するかの指定を指定を行うための設定です。 「autodate_start_line」で指定した行から「autodate_lines」で指定した行数の範囲を検索します。

もし、「autodate_start_line」にマイナス値(0より小さい値)が指定された時は、 ファイル全体を検索するようになります。

設定 デフォルト値 設定例
autodate_lines 50 :let autodate_lines=100
autodate_start_line 1 :let autodate_start_line=-1

挿入するタイムスタンプのフォーマット

「autodate_format」で、autodate.vimスクリプトで挿入されるタイムスタンプのフォーマットを 指定することができます。

設定 デフォルト値 設定例
autodate_format %d-%3m-%Y :let autodate_format=" %Y/%m/%d %H:%M:%S "

タイムスタンプのフォーマットの指定例を一通り、下に書いておきます。

タイムスタンプのフォーマット 出力例
%Y/%m/%d 2004/09/27
%H:%M:%S 13:06:32
%y%m%d-%H%M 040927-1308
%d-%3m-%Y 27-Sep-2004
%Y/%m/%d %H:%M:%S 2004/09/27 13:06:32
%c Sun Apr 27 11:49:23 1997
%Y %b %d %X 1997 Apr 27 11:53:25
%y%m%d %T 970427 11:53:55

その他

autodate.vimスクリプトの機能のオン、オフを切り替える

下のコマンドを実行すると、現在開いているバッファのみ、 autodate.vimスクリプトのタイムスタンプ機能を無効にできます。

:AutodateOFF

「:AutodateOFF」コマンドで無効にしたautodate.vimスクリプトの機能を再び有効にするには、 下のコマンドを使用します。 現在のバッファのみに有効です。

:AutodateON

手動でタイムスタンプの挿入を実行する

次のコマンドで現在の行に対して、手動でタイムスタンプの挿入ができます。 コマンドの前に実行の範囲を指定することができす。

:Autodate
:.,.+5Autodate (範囲を指定した時のコマンド実行例)

アプリケーション起動時にプラグインをロードしないようにする

もし、このスクリプトをエディタ起動時にロードしたくない場合は、 下の設定をvimの設定ファイルに追加してください。

:let plugin_autodate_disable = 1
ドキュメントアクション
コメント
blog comments powered by Disqus