find-temp-file 20170107.539(in MELPA)
Open quickly a temporary file

概要

find-temp-file.el は、拙作 open-junk-file.el の類似品です。

つまり、試行錯誤用のファイルを開くものです。

find-temp-file.elは拡張子を入力するだけで
定められたファイル名のフォーマットのファイルを作成します。

open-junk-file.elはシンプルに現在時刻ベースのファイル名になりますが、
find-temp-file.elの方はsha1や特定のprefixがついた名前になります。

本設定ではopen-junk-file.el互換のファイル名を生成させています。

ただ、現時点では拡張子以外は自分でファイル名を指定できません。

僕は open-junk-file
~/junk/150308/150308053912.find-temp-file.el のように
時刻とファイルの内容を識別するための名前をつけています。

しかし find-temp-file では拡張子以外を指定すると、
ファイル名そのものをになってしまいます。

たとえばhoge.elと入力したら ~/junk/150308/hoge.el が
作成されてしまいます。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてfind-temp-fileを使う方は
以下のコマンドを実行します。

M-x package-install find-temp-file

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name find-temp-file

設定 150308053912.find-temp-file.el(以下のコードと同一)

;;; ~/junk/150308/150308055844.el のようなファイル名にする
(setq find-temp-file-directory "~/junk/")
;; 設定可能なもの
;; %N: prefix taken from `find-temp-file-prefix'
;; %S: shortened sha-1 of the extension
;; %T: shortened sha-1 of the extension + machine
;; %E: extension
;; %M: replace by mode name associated with the extension
;; %D: date with format %Y-%m-%d
;; ここで %d を指定できるように独自に定義
(setq find-temp-custom-spec
      '((?d . (lambda () (format-time-string "%y%m%d/%y%m%d%H%M%S")))))
(setq find-temp-template-default "%d.%E")
;;; 特定の拡張子のファイルでは別の形式のファイル名にできるが、不要だろう
(setq find-temp-template-alist nil)

実行方法

$ wget http://rubikitch.com/f/150308053912.find-temp-file.el
$ emacs -Q -f package-initialize -l 150308053912.find-temp-file.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。