1

我喜欢在 emacs 中使用 ido 模式以及使用运行 ido-list-directory 的 Cx Cd 列出目录。是否有启用 ido 模式操作的命令,但在当前点,如 dired-at-point。我经常使用它,但更喜欢使用 ido-dired-at-point 之类的东西。

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

4

2 回答 2

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))))

编辑:

或者,如果您想确认目录 @ 点(仅用于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))))))
于 2012-08-03T07:10:38.143 回答
0

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

于 2012-08-03T18:00:27.217 回答