有没有办法在emacs中创建文件夹树 - 类似于
mkdir -p
在bash?
基本上 - 当我保存文件时,我希望emacs创建所有中间目录 - 如果它们不存在 -
答案 0 :(得分:27)
函数make-directory
就是这样做的。您的特定问题可能会像这样解决:
(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))))))
答案 1 :(得分:3)
您也可以使用mkdir -p
从emacs内部执行M-!
以获取shell命令提示符。
然后你要做的就是把你的目录结构放在:
M-! dir1/dir2/dir3/dir4.....
答案 2 :(得分:2)
(make-directory DIR& optional PARENTS)
创建目录DIR和任何不存在的父目录。 如果DIR已作为目录存在,则发出错误信号,除非设置了PARENTS。