comandos - ¿Cómo hacer que Emacs cree direcciones intermedias-al guardar un archivo?
emacs ubuntu (3)
¿Hay alguna manera de crear un árbol de carpetas en emacs?
mkdir -p
en bash?
Básicamente, quiero que emacs cree todos los directorios intermedios, si no existieran, cuando guardo un archivo.
(make-directory DIR y PADRES opcionales)
Cree el directorio DIR y cualquier dirección padre no existente. Si DIR ya existe como directorio, señale un error, a menos que se establezca PADRES.
La función make-directory
hace eso. Tu problema particular puede resolverse así:
(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))))))
También puedes ejecutar mkdir -p
desde dentro de emacs usando M-!
para obtener un indicador de comandos de shell.
Entonces todo lo que tienes que hacer es poner la estructura de tu directorio en:
M-! dir1/dir2/dir3/dir4.....