开发者

How to make Emacs create intermediate dirs - when saving a file?

Is there a way to create folder tree in emacs - similar to

mkdir -p
开发者_JAVA百科

in bash?

Basically - I want emacs to create all the intemediate dirs - if they were not existing - when I save a file.


Function make-directory does that. Your particular problem may be solved like this:

(add-hook 'before-save-hook
          (lambda ()
            (when buffer-file-name
              (let ((dir (file-name-directory buffer-file-name)))
                (when (and (not (file-exists-p dir))
                           (y-or-n-p (format "Directory %s does not exist. Create it?" dir)))
                  (make-directory dir t))))))


You can also just execute mkdir -p from inside emacs using M-! to get a shell command prompt.

Then all you have to do is put your directory structure in:

M-! dir1/dir2/dir3/dir4.....


(make-directory DIR &optional PARENTS)

Create the directory DIR and any nonexistent parent dirs. If DIR already exists as a directory, signal an error, unless PARENTS is set.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜