有没有人有一个emacs lisp hack,允许在dired-do-copy或dired-do-rename过程中动态创建一个新目录?我知道它可以在运行这两个命令之一之前创建。某些类型的“你确定吗?”的加分提示。
发布于 2012-10-21 19:40:53
这看起来像是一个应用建议的案例。问题是:给出什么建议。查看dired代码,似乎正确的目标是用于读取目标文件名的dired-mark-read-file-name。这将会起作用:
(defadvice dired-mark-read-file-name (after rv:dired-create-dir-when-needed (prompt dir op-symbol arg files &optional default) activate)
(when (member op-symbol '(copy move))
(let ((directory-name (if (< 1 (length files))
ad-return-value
(file-name-directory ad-return-value))))
(when (and (not (file-directory-p directory-name))
(y-or-n-p (format "directory %s doesn't exist, create it?" directory-name)))
(make-directory directory-name t)))))请注意,也许可以删除第一个when (when (member op-symbol '(copy move))),以使其适用于在dired中创建文件的更多情况。但是我不确定何时调用dired-mark-read-file-name,所以我让这个测试在那里进行,以减少潜在的不良副作用
https://stackoverflow.com/questions/12994164
复制相似问题