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

前端 未结 3 1442
自闭症患者
自闭症患者 2021-02-01 06:40

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

mkdir -p

in bash?

Basically - I want emacs to create all the intemediate dir

相关标签:
3条回答
  • 2021-02-01 07:20

    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))))))
    
    0 讨论(0)
  • 2021-02-01 07:20

    (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 讨论(0)
  • 2021-02-01 07:27

    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.....

    0 讨论(0)
提交回复
热议问题