emacs ido-ignore-directories and files 不要忽略所有列表

emacs ido-ignore-directories and files don't ignore the all list

我试图在 Emacs ido.

中忽略 cmake 生成的文件和目录以及 ...

这是我的 Emacs 配置:

(setq ido-show-dot-for-dired nil)
(setq ido-ignore-directories '("CMakeFiles/" ".git/" ".bin/" "Testing/" "tmp/"))
(setq ido-ignore-files '("\.cmake" "CMakeCache.txt"))

它隐藏了.git*.cmakeCMakeCache.txt,但它仍然提示Testing...CMakeFiles 自动完成。

从这些变量的文档中,(对我来说)还不是很清楚它们 work/which 如何影响它们的功能,所以我分享你的困惑。

对于有问题的功能,ido-find-file 根据评论,修改 ido-ignore-files 变量以包含不需要的目录应该就足够了。

经过进一步调查——跟踪 ido 库并调用 ido-find-file——我可以不确定地说 ido-ignore-directories 与这里不直接相关,(缩短的)代码路径是

ido-find-file -> ... -> ido-make-file-list -> ... -> ido-file-name-all-completions