handlename's blog

コード片など

emacsで使い捨てディレクトリをさくっと作る

open-junk-fileを使うと 使い捨てファイルをさくっと作ることができる。

使い捨てディレクトリも同じようにさくっと作りたい。 ということでopen-junk-fileを真似してopen-junk-dirというコマンドを作った。

https://github.com/handlename/dot-emacs/blob/master/inits/30_open-junk-file.el#L7-15

問題の関数のところだけを抜粋すると、

(defvar junk-file-dir "~/junk")
(defvar junk-file-format-base (concat junk-file-dir "/%Y/%m/%Y%m%d_%H%M%S"))
(defvar my:open-junk-dir-format (concat junk-file-format-base "_"))

;;; open-junk-dir
(defvar my:open-junk-dir-format (concat junk-file-format-base "_"))

(defun my:open-junk-dir ()
  (interactive)
  (let* ((dir-base (format-time-string my:open-junk-dir-format (current-time)))
         (dir (read-string "Dirname: " dir-base)))
    (make-directory dir t)
    (find-file dir)))

いままで~/tmpなどに都度ディレクトリを作っていたが、 これでディレクトリ名に悩む必要がなくなった。

ついでに Emacs で作成した使い捨てファイルを簡単に開く - Qiita を参考にhelmで使い捨てファイルを検索できるようにした。

https://github.com/handlename/dot-emacs/blob/master/inits/30_open-junk-file.el#L17-35

さらについでにagコマンドでjunk-file-dirを検索する関数も定義した。

https://github.com/handlename/dot-emacs/blob/master/inits/30_open-junk-file.el#L37-42

使い捨てファイルがだいぶ使いやすくなった。