我在 Emacs 23.1(Windows 7)上设置了出色的 ido 模式。
如果我处于 dired 状态并决定创建一个新文件,我会执行 Cx Cf,它与 ido-find-file 绑定。
(我确实应该执行 Cx Cf Cf 才能获得正常的查找文件,但我总是忘记。)
在输入新文件名的过程中,ido 开始寻找同名的旧文件(“正在搜索...”)。这将是一次毫无意义的任务。
由于我也通过网络编辑了很多文件,而且 ido 似乎正在搜索 UNC 路径之类的东西,这实际上会锁定 Emacs 一段时间,所以非常烦人。
Cg 不会脱离它,ESC 也不会。有人知道还有其他方法可以停止 ido 吗?
答案1
我的 .emacs 中有以下内容:
(add-hook 'ido-setup-hook 'shab-ido-config)
(defun shab-ido-config()
;; ... other ido-config here ...
;; disable auto searching for files unless called explicitly with C-c C-s
(setq ido-auto-merge-delay-time 99999)
(define-key ido-file-dir-completion-map (kbd "C-c C-s")
(lambda()
(interactive)
(ido-initiate-auto-merge (current-buffer)))))
这实际上禁用了自动搜索,除非明确请求(使用C-c C-s
)。仍然存在新文件名与当前目录中的现有文件匹配的问题,默认情况下会打开该文件(这很烦人)。
我发现解决该问题的方法是使用C-f
ido 返回非 ido 查找文件功能。