我试图忽略cmake生成的文件和目录以及Emacsido
中的.
、..
。
这是我的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
、*.cmake
和CMakeCache.txt
,但在自动补全中仍然建议使用Testing
、..
、.
和CMakeFiles
。
从这些变量的文档中,(无论如何(它们是如何工作的/它们影响哪些函数还不太清楚,所以我和你一样感到困惑。
对于所讨论的函数ido-find-file
percomments,修改ido-ignore-files
变量以包含不需要的目录就足够了。
经过进一步的研究——追踪ido库并调用ido-find-file
——我可以不确定地说,ido-ignore-directories
在这里并不直接相关,(缩短的(代码路径是
ido-find-file
->…->ido-make-file-list
->…->ido-file-name-all-completions