获得类似于emacs中的dired-at-point的ido模式功能

时间:2012-08-03 05:32:36

标签: emacs elisp dired ido-mode

我喜欢在emacs中使用ido模式,并使用运行ido-list-directory的C-x C-d目录列表。是否有一个命令来启用ido-mode操作但是在当前点像dired-at-point。我经常使用它,但更喜欢使用像ido-dired-at-point这样的东西。

不知道这是否已经实施,我在文档中找不到它,或者它是否易于实现。

2 个答案:

答案 0 :(得分:1)

看起来ido-list-directory用于交互式完成list-directory。所以,如果关键点是文件名,而不是使用ido,直接使用list-directory应该达到相同的最终结果。

这样的事情怎么样:

(defun ido-ffap-list-directory ()
  (interactive)
  (let ((fap (ffap-guess-file-name-at-point)))
    (if fap
        (list-directory (file-name-directory fap))
      (ido-list-directory))))

修改

或者,如果您想要确认目录@ point(仅适用于C-u前缀),请使用以下内容替换上面的list-directory sexp:

(defun ido-ffap-list-directory (&optional arg)
  (interactive "P")
  (let ((fap (ffap-guess-file-name-at-point)))
    (if (null fap)
        (ido-list-directory)
      (if arg
          (list-directory 
           (ido-read-directory-name "Directory: "
                                    (file-name-directory fap)))
        (list-directory (file-name-directory fap))))))

答案 1 :(得分:0)

(setq ido-use-filename-at-point 'guess)