2011-04-15 65 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