読者です 読者をやめる 読者になる 読者になる

fnwiyaBlog

EmacsとかLispとか可視化とか

find-fileでディレクトリが無ければ作る関数

新しくディレクトリを作りつつ新規ファイルを開きたい時に、
M-x make-directory

find-file
は面倒なので。
(ターミナルでmkdirはもっと面倒)

;;; find-fileでディレクトリが無ければ作る
(defun make-directory-unless-directory-exists()
  (let (
         (d (file-name-directory buffer-file-name))
       )
    (unless (file-directory-p d)
      (when (yes-or-no-p "No such directory: make directory?")
        (make-directory d t))
      )
    )
  nil
)
(add-hook 'find-file-hooks
          'make-directory-unless-directory-exists)

参考 KOSHIGOE学習帳 - [emacs]snippets
フックがうまいこと働かなかったので変更。