Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2025/04/03 22:15:46.252 (台灣標準時)

Emacs でファイルに最終更新日時を自動で書き込む方法について

Emacs で、編集しているファイルをセーブする際に、自動で最終更新日時を書 き込む方法を使うと、忘れることなく最終更新日時がファイルに記録されるの で、どっちのファイルがより新しいのかというようなことに悩むことがなく、 便利でござる。

.emacs に以下のような行を追加しておくと、ファイルの最終更新 日時が自動で記録されるようになるでござる。


;
; time-stamp
;
(defvar time-stamp-format "%Y/%02m/%02d %02H:%02M:%02S (%Z) %u")
(add-hook 'write-file-hooks 'time-stamp)

上のように設定しておき、編集しているファイルの先頭部分に以下のような行 を作っておくでござる。


# Time-stamp: <>

すると、 C-x C-s としてファイルをセーブしたときに、上の行が自動で書き 換えられるでござる。以下のようになるはずでござる。


# Time-stamp: <2025/03/12 16:15:12 (CST) daisuke>

気になったのは、タイムゾーンのところが "CST" になっているこ とでござる。 "CST" よりかは、 "UT+8" などとなって いる方が精神衛生上良いように思ったでござる。調べてみると、以下のページ が見つかったでござる。

タイムゾーン関係のことについては、以下の記述があるでござる。


%Z    time zone name: `EST'
%-z   zone offset with hour: `-08'     %:::z adds colons as needed: `+05:30'
%5z   zone offset with mins: `-0800'   %:z   adds colon: `-08:00'

fig_202503/emacs_timestamp_00.png
fig_202503/emacs_timestamp_01.png

.emacs の記述を以下のようにすればよいようでござる。


;
; time-stamp
;
(defvar time-stamp-format "%Y/%02m/%02d %02H:%02M:%02S (UT%:z) %u")
(add-hook 'write-file-hooks 'time-stamp)

すると、以下のようになったでござる。


# Time-stamp: <2025/03/12 16:35:39 (UT+08:00) daisuke>

コメントの部分は、適宜変えればよいでござる。 .emacs を編集 しているのならば、以下のようにすればよいでござる。


; Time-stamp: <>

LaTeX のファイルならば、以下のようにすればよいでござる。


% Time-stamp: <>

HTML ファイルならば、以下のようにすればよいでござる。


<!--Time-stamp: <>-->

デフォルトの設定だと、先頭八行以内に Time-stamp: <> があれば、最終更新日時が自動更新されるようでござる。

fig_202503/emacs_timestamp_02.png

先頭八行以外の場所を探すようにする方法もあるようでござる。

参考文献



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Network/20230508_00.html
  7. Computer___Network/20240130_00.html
  8. Computer___Python/20220715_0.html
  9. Food___Taiwan/20220429_0.html
  10. Computer___TeX/20231107_00.html
  11. Computer___NetBSD/20230119_00.html
  12. Computer___Network/20240416_00.html
  13. Computer___Python/20220410_0.html
  14. Computer___Python/20221013_0.html
  15. Computer___NetBSD/20220817_3.html
  16. Computer___Network/20220413_1.html
  17. Computer___Debian/20210223_1.html
  18. Computer___Python/20240101_00.html
  19. Misc___Japan/20240610_00.html
  20. Computer___Python/20210124_0.html
  21. Computer___NetBSD/20220818_1.html
  22. Computer___NetBSD/20220428_0.html
  23. Computer___NetBSD/20240101_02.html
  24. Science___Math/20220420_0.html
  25. Computer___TeX/20230726_01.html
  26. Computer___TeX/20230503_00.html
  27. Science___Astronomy/20220503_0.html
  28. Computer___NetBSD/20230515_00.html
  29. Computer___NetBSD/20220808_0.html
  30. Computer___NetBSD/20240101_03.html


HTML file generated by Kinoshita Daisuke.