わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

2ストロークで「今日のファイル」を開く

Emacs*1を起動すると,最初にするのは,「今日のファイル」を開くことです.
今日のファイルはSubversionで管理していて,今日ならファイル名は 20071117.txt です.
毎回 C-x C-f でファイル名を指定するのも手間です.ブックマークメニュー*2で既に登録したディレクトリ選択して,ファイルを探すのも,キーストロークが多くて煩雑です.
2ストロークくらいで,ファイルを開けるよう,書いてみますかね.

(setq find-today-file-base "ディレクトリ名/")
(setq find-today-file-suffix ".txt")
(if (file-exists-p find-today-file-base)
    (progn
      (defun find-file-today ()
	"Find today's file"
	(interactive)
	(find-file (concat
		    find-today-file-base
		    (format-time-string "%Y%m%d" (current-time))
		    find-today-file-suffix)))
      (global-set-key "\C-xf" 'find-file-today)))

キーバインドは,C-x fを選びました.通常これは,set-fill-columnに割り当てられていますが,こんなコマンド使いませんので.
既にあるファイルthe existing fileを開くことも,新規にファイルを開くこともできますし,このファイルを含めてたくさんのファイルを開いているときに,C-x fとすれば今日のファイルに戻れるという効果もあります*3

*1:Windowsの場合はMeadow

*2:C-x r mでバッファをブックマークに登録し,C-x r lでブックマークのリストを見ます.

*3:Homeを連想させる,「C-x C-h」に割り当てるほうがいいのかもしれません.