【问题标题】:emacs: force ido-mode to forget historyemacs:强制 ido-mode 忘记历史
【发布时间】:2009-09-03 01:58:26
【问题描述】:

我想知道我是否可以让 ido 不记得我的历史记录,并且在我搜索文件时只显示当前目录中的文件的完成。我知道这个历史功能有时很有用,但我经常最终编辑不正确的文件,因为我认为我正在编辑当前目录中名为“abc.txt”的文件,但实际上我正在编辑同名文件我之前访问过的另一个(通常在当前目录中没有“abc.txt”时发生,正如我错误地假设的那样)。通过读取 ido.el 文件,我想在我的 .emacs 文件中设置(也在运行的 emacs 实例中评估了这些表达式):

(custom-set-variables
 '(ido-enable-last-directory-history nil)
 '(ido-record-commands nil)
)

并在 ~/ 中删除了一个名为 .ido.last 的文件,但它仍然记得我在进行这些更改之前访问过的一些以前的文件。如何清除我以前的历史记录,我不完全确定上述两个变量之间的区别是什么,但似乎已经做到了让 ido 不记得我将来访问的文件?

感谢您的帮助!

【问题讨论】:

  • 啊,当我之前尝试删除 ~/.ido.last 时,我一定有另一个 emacs 实例正在运行 - 删除 ~/.ido.last 似乎有效,并且上面的命令使其无法记住新的!)
  • 请将您的评论作为答案,并将您自己的答案标记为已接受的答案,这样对于寻求帮助的人来说,这不会继续看起来像一个未回答的问题。
  • 对不起,不知道关于SO礼仪的那部分。

标签: emacs elisp


【解决方案1】:

删除 ~/.ido.last 并按上述设置变量似乎可以防止 ido 搜索过去访问过的文件。

编辑:实际上,此任务的完全自定义是

(custom-set-variables
 '(ido-enable-last-directory-history nil)
 '(ido-record-commands nil)
 '(ido-max-work-directory-list 0)
 '(ido-max-work-file-list 0))

【讨论】:

    【解决方案2】:

    这一直发生在我身上。鉴于我在目录/path/to/dir 中并且我尝试编辑abc.txt,如果/path/to/dir/abc.txt 不存在而/somewhere/else/abc.txt 存在,(ido-find-file) 将“有用地”弹出我到/somewhere/else/abc.txt

    在这种情况下,(ido-find-file) 中间的 CTRL-F 在 minibuffer 中会恢复到 (find-file) 的通常行为,所以我可以强制 Emacs 编辑 /path/to/dir/abc.txt,该死的。

    【讨论】:

    • 对我真的很有帮助!
    【解决方案3】:

    ido-auto-merge-work-directories-length 设置为-1 将禁用自动目录切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2022-10-16
      • 2011-04-18
      • 2016-03-18
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      相关资源
      最近更新 更多