日報ファイルをリネームしているのでござるよ,手動で.だから自動化.

  1. コピー
  2. F2
  3. 前日の日付を付与
  4. 保存

していたので,xyzzyでさくっとは行かないまでも,revision-up.2.5hもかかってしまった.

単なる保存がC-x C-wなので,C-x wに割り当て.ファイル名の先頭に前日日付を挿入します.

; C-x wに割り当て
(global-set-key '(#\C-x #\w) 'revision-up)

(defun revision-up (initial)
  (interactive "sNew Filename: " :default0
    (substitute-string (get-buffer-file-name)
                   "\\(.*\\)/\\(.*\\)"
		       (concat "\\1/" (format-date-string "%Y%m%d" (- (get-universal-time) 86400))"_\\2")))
  (write-file initial))

以下,解説

 (interactive "sNew Filename: " :default0 x)
;文字列を入力値として,ミニバッファにNew Filename: をプロンプトとして出力
;入力値の初期値はxで,最終的な値は本関数revision-upの最初の引数(:defalut0)であるinitialに代入される

 (format-date-string "%Y%m%d" (- (get-universal-time) 86400))
; 前日(86400秒前の年月日)の文字列を取得

    (substitute-string (get-buffer-file-name) "\\(.*\\)/\\(.*\\)" (concat "\\1/" yesterday "_\\2")
; 現在のフルパスファイル名から,パス名とファイル名にぶったぎって,前日日付を挿入して置換

以上です.

LISPって関数探しにくいわ.