2011-04-15 67 views
5

我使用emacs與dired,複製粘貼各種文件上使用emacs的dired同時使用ido.el

(require 'dired-details) 
(dired-details-install) 

和IDO,

(setq ido-enable-flex-matching t) 
(setq ido-everywhere t) 
(ido-mode 1) 

(setq ido-use-filename-at-point 'guess) 
(setq ido-create-new-buffer 'always) 

(以及recentf描述here

但是,當我在選擇幾個文件後,在進行復制(Shift-C)時, 並轉到應該粘貼的新目錄中...我有兩個非工作選項: 1)或者我點擊一個目錄,並進一步進入一個目錄,我不想要的。 2)我點擊一個文件,並 IDO抱怨

標記複本:目標必須是 目錄:

我怎樣才能讓dired選定的文件粘貼到新的目標? 任何幫助表示感謝,謝謝。

回答

6

嘗試Ç-J,一旦你在IDO的目標目錄。適用於我。

+0

bataev:也適用於我。謝謝。 – Massagran 2011-06-13 12:17:23

2

這裏的基本問題是,雖然有一個read-file-name-functionido可以依附於,沒有read-directory-name-functionido-mode擁有的dired此功能沒有明確的支持,並沒有什麼關於read-file-name調用我能弄清楚,ido-mode可能鉤到。

我只能建議使用C-f關閉ido。的read-file-name通過dired調用深這麼多層次,它甚至不會是特別優雅修補:

* read-file-name("Copy <file> to: " "<dir>/" "<dir>/<file>") 
    apply(read-file-name ("Copy <file> to: " "<dir>/" "<dir>/<file>")) 
    dired-mark-pop-up(nil copy ("<file>") read-file-name "Copy <file> to: " "<dir>/" "<dir>/<file>") 
    dired-mark-read-file-name("Copy %s to: " "<dir>/" copy nil ("<file>") "<dir>/<file>") 
    dired-do-create-files(copy dired-copy-file "Copy" nil 67 nil nil) 
    dired-do-copy(nil) 
+0

謝謝尼古拉斯的洞察力。我想我只需要在執行這些文件操作時關閉C-f。 – Massagran 2011-05-11 21:43:32