gpt4 book ai didi

emacs - 我可以更改 Emacs 查找文件的历史记录吗?

转载 作者:行者123 更新时间:2023-12-04 07:14:51 26 4
gpt4 key购买 nike

当我调用 find-file 打开一个新文件时,通常会发生我要查找的文件位于我已经加载的目录之一中。

理想情况下,我想使用向上/向下箭头滚动浏览历史记录。

这样做的问题是,如果我已经从一个目录加载了 10 个文件,我首先必须通过这 10 个文件,它们都在同一个目录中,然后才能看到我的文件可能所在的新目录。

最后,我经常只是再次输入目录或从 xterm 中剪切/粘贴它。

在 find-file 命令中,我可以更改向上/向下箭头的行为以遍历目录而不是文件。

或者,我可以更改文件顺序以匹配最近访问的缓冲区的顺序,而不是加载文件时的顺序吗?

最佳答案

我的第一个答案是 TAB 完成在“查找文件”中不再按预期工作。但这项技术似乎仍然有用(如果你喜欢它,更可取)。

但是,此解决方案具有相同的历史行为,但在 'find-file.

我很想知道是否有办法避免建议查找文件,但我找不到任何让我知道调用了“查找文件”的内省(introspection)。

(defadvice find-file (around find-file-set-trigger-variable protect activate)
"bind a variable so that history command can do special behavior for find-file"
(interactive (let (inside-find-file-command) (find-file-read-args "Find file: " nil)))
ad-do-it)

(defadvice next-history-element (around next-history-element-special-behavior-for-find-file protect activate)
"when doing history for find-file, use the buffer-list as history"
(if (boundp 'inside-find-file-command)
(let ((find-file-history (delq nil (mapcar 'buffer-file-name (buffer-list))))
(minibuffer-history-variable 'find-file-history))
ad-do-it)
ad-do-it))

关于emacs - 我可以更改 Emacs 查找文件的历史记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com