我无论如何都无法使用emacs的ff-find-other-file
找到我的头文件。以下是我的最小示例:
cd ~/tmp
mkdir test
cd test
mkdir -p src/a/b inc/a/b
echo "aaaa" > src/a/b/a.cpp
echo "bbbb" > inc/a/b/a.hpp
tree
提供:
.
├── inc
│ └── a
│ └── b
│ └── a.hpp
└── src
└── a
└── b
└── a.cpp
这与我的项目结构类似。
emacs -Q src/a/b/a.cpp
将以下内容拷贝到*scratch*
缓冲区中,并使用C-x C-e
执行:
(setq cc-search-directories '("." "../inc" "../inc/*" "../../inc/*" "../../../inc/*" "/usr/include"))
在缓冲区中运行
ff-find-other-file
只会在minibuffer中显示提示信息:
在~/tmp/test/src/a/b/中查找或创建a.hpp
在ff-search-directories
上执行C-h v
返回cc-search-directories
,在cc-search-directories
上执行C-h v
返回如上列表。
我希望ff-find-other-file
查找../../../inc/*
并找到a.hpp
。为什么它没有找到呢?
编辑:这里似乎是递归部分不起作用了。
之后:
cp inc/a/b/a.hpp inc/
a.hpp
是从a.cpp
找到的。
ff-search-directories
的帮助文档如下:
星号不是通配符:它们与前面的斜杠一起搜索。星号表示除“..”之外的所有子目录,每个子目录将依次被搜索。
请注意,此引用来自ff-search-directories
的帮助文档,而我修改的列表是cc-search-directories
。但我不知道这会有什么区别。
这和其他SO主题让我相信*
会递归地搜索目录树。错了吗?