【问题标题】:Emacs: disable automatic file search in ido modeEmacs:在 ido 模式下禁用自动文件搜索
【发布时间】:2013-08-01 05:56:33
【问题描述】:

我使用 ido 模式。这是我在.emacs中设置的方式

(require 'ido)
(setq ido-enable-flex-matching t)
(setq ido-everywhere t)
(ido-mode t)

当我打开一个文件时,我执行 C-x C-f my_file 如果它在当前目录中不存在,emacs 将在大约一秒钟内尝试在其他最近使用的目录中搜索它。但是,大多数时候我只是想创建新文件。我必须非常快地输入文件名,然后 C-j 来确认它。我怎样才能阻止 ido 这样做?

【问题讨论】:

  • 别名 'open new file' 作为 C-x C-f 以外的某个键(M-x find-file 是操作的正确名称)
  • @user2141046 @woodings 从ido-find-file 你可以再次点击C-x C-f 以进入传统的find-file 界面
  • @assem 我不想恢复正常find-file。我需要ido 但不在其他目录中搜索。
  • @assem 只是C-f
  • @abo-abo 哦,确实是这样,谢谢

标签: emacs ido-mode


【解决方案1】:

以下将完全禁用该功能:

(setq ido-auto-merge-work-directories-length -1)

我从来没有看到它有什么价值,所以完全禁用它可能对很多人来说是有意义的。

【讨论】:

  • M-x 自定义变量 ido-auto-merge-work-directories-length
【解决方案2】:

这是使用 Ido 的另一个选项:

  1. 像往常一样键入 C-x C-f
  2. 使用 Ido 搜索找到您要创建新文件的目录。
  3. 随时再次键入 C-f,Emacs 将返回旧的 find-file 功能。

然后你可以输入你想要的文件名,Emacs 会创建一个新的缓冲区。因此,如果您键入 C-x C-f C-f file_name RET 它将在当前目录中临时创建一个名为 file_name 的缓冲区。

【讨论】:

    【解决方案3】:

    我找到了一个简单的解决方案:

    (setq ido-auto-merge-delay-time 9)
    

    这里的时间以秒为单位。我可以设置一个非常大的数字来完全禁用此功能。

    【讨论】:

    • 或将ido-auto-merge-work-directories-length 设置为-1 以禁用
    • @woodings,这个问题在我使用ido的时候确实困扰了我一段时间,最后还是决定去寻找解决办法。在我得到这个页面之前,我发现当你使用 ido 时,你可以使用 C-f 而不是 ido 回到正常模式,但你的解决方案似乎更好。谢谢!
    猜你喜欢
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    相关资源
    最近更新 更多