0
是否有人有emacs lisp hack,這將允許在dired-do-copy或dired- DO-改名?我知道它可以在運行這兩個命令之前創建。某些類型的「你確定...」提示的額外分數。允許使用dired-do-copy和dired-do-rename來創建新的目錄
是否有人有emacs lisp hack,這將允許在dired-do-copy或dired- DO-改名?我知道它可以在運行這兩個命令之前創建。某些類型的「你確定...」提示的額外分數。允許使用dired-do-copy和dired-do-rename來創建新的目錄
它看起來像應用建議的情況。問題是:什麼 意見。看看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,所以我讓這個測試在那裏以減少潛在的不需要的副作用
通過評估建議defun並使用dired-do-複製「C」它與以下消息出錯。複製'c:/Users/family/AppData/Roaming/temp.emacs'到'c:/Users/family/AppData/Roaming/temp110/temp.txt'失敗: (文件錯誤複製文件沒有這樣的文件或目錄c:/Users/family/AppData/Roaming/temp.emacs c:/Users/family/AppData/Roaming/temp110/temp.txt) 我在windows和dired +下使用emacs 24.2,它可能會重新定義dired-do-copy。有什麼建議麼? – Mikef
它不處理這種情況。我的代碼正在做的是創建目錄,如果有幾個文件需要複製或移動,或者如果你已經給出了一個目錄名稱作爲複製到的位置的答案......我會尋找更好的解決方案如果我有時間... –
好的,我修好了,它更簡單。 –