首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许dired-do-copy和dired-do-rename动态创建新目录

允许dired-do-copy和dired-do-rename动态创建新目录
EN

Stack Overflow用户
提问于 2012-10-21 09:30:31
回答 1查看 398关注 0票数 0

有没有人有一个emacs lisp hack,允许在dired-do-copy或dired-do-rename过程中动态创建一个新目录?我知道它可以在运行这两个命令之一之前创建。某些类型的“你确定吗?”的加分提示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-21 19:40:53

这看起来像是一个应用建议的案例。问题是:给出什么建议。查看dired代码,似乎正确的目标是用于读取目标文件名的dired-mark-read-file-name。这将会起作用:

代码语言:javascript
复制
(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,所以我让这个测试在那里进行,以减少潜在的不良副作用

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12994164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档