Ответы:
Вам не нужно этого делать, если это ваш вопрос.
C-x C-f /some/new/directory/newfile.txt
Emacs печатает сообщение , чтобы сообщить , что каталог /some/new/directory/еще не существует: Use M-x make-directory RET RET to create the directory and its parents.
Вставьте текст в новый буфер для нового файла newfile.txt.
C-x C-s сохранить файл.
Emacs спросит вас, хотите ли вы создать недостающие промежуточные каталоги (например, new/directory/вы нажали y«да».
Не очень громоздко, ИМО. Пользовательский интерфейс должен запросить у вас подтверждение, потому что вы могли легко напечатать имя существующего каталога.
y.
idoпользователейido-find-file) и введите несуществующий путь.make new dir?). Хит RET.Если вы действительно хотите find-fileавтоматически создавать родительские каталоги, когда их еще нет, вы можете сделать следующее в вашем файле инициализации.
(defun my-find-file (orig-fun &rest args)
(let* ((filename (car args))
(directory (file-name-directory filename)))
(if (not (file-directory-p directory))
(make-directory directory t))
(apply orig-fun args)))
(advice-add 'find-file :around 'my-find-file)
В конце концов, Emacs был разработан, чтобы быть расширяемым и настраиваемым.
Ссылка:
M-x make-dirtab(проверено,emacs -Qчтобы убедиться, что работает),RETRETи он будет создавать каталог без каких-либо дополнительных запросов.