タイムスタンプを自動更新したい

HTML などを編集して保存するときに、自動的にタイムスタンプが挿入+更新されると結構便利。今までは、html-helper-mode の機能を使ってこれを実現してたのだけど、psgmlモードに乗り換えたので、どうしようか困っていた(参考:2007-08-11 - 英語とプログラミング気まぐれ日記)。


google で検索してみると、以下の内容を .emacs に追加すればよいみたい。

;;; Time stamp
;;; ファイルの中で最初に表れる「Last modified:」という文字列が
;;; あったらそこに「曜日 月 日 時間 年 タイムゾーン」の順にタイムスタンプ
(setq time-stamp-line-limit 10000) ;行数制限をとっぱらう(変えるなと書いてあるが)
(if (not (memq 'time-stamp write-file-hooks))
    (setq write-file-hooks
          (cons 'time-stamp write-file-hooks)))
(setq time-stamp-format "%3a %3b %02d %02H:%02M:%02S %:y %Z")
(setq time-stamp-start "Last modified:[ \t]")
(setq time-stamp-end "$")


これで「Last modified:」の後に、空白かタブがあると、上書き保存時に time-stamp-format で指定したフォーマットでタイムスタンプを挿入/更新してくれる。

参考

設定:情報源(Time stamp 項を参照)