如何在不使用“完整路径”的情况下使用emacs projectile-find-file?

3
我是Emacs的新手,最近遇到了“如何在Emacs中快速查找和打开文件?”(类似于sublime/atom中的Go-to、Cmd-P)。作为解决方案,我使用了projectile包,但在以下情况下其行为略有不同。如果我想通过提供路径的部分来缩小搜索范围,它将无法找到我要找的文件。例如:
假设我的项目中有以下文件:
my-project/lib/something/bananas
在emacs中,我运行M-x projectile-find-file或C-c p f,如何只提供lib和bananas就能找到上面的文件?
如果我只键入bananas,我可以找到文件,我想要的是缩小搜索范围的方法,因为可能有多个名为bananas的文件。
我尝试过类似于lib/*/bananas的方法,但没有成功。
基本上,我要实现的行为等价于:

原子示例(链接到示例,很遗憾我没有足够的声望(点数)在这里上传照片)


1
您所描述的通常称为“模糊查找”或“灵活匹配”。有很多软件包提供了这个功能,但emacs默认并不支持此功能。 - Randy Morris
3个回答

4

对我而言,这个问题可以通过以下方式解决:

M-x projectile-find-file or C-c p f

只需在搜索标签之间用空格分隔即可,例如:
lib bananas

0

0

我在这方面使用 ido-ubiquitious(以及 (setq ido-enable-flex-matching t))。它几乎可以让任何自动完成都使用 ido,因此能提供模糊匹配。您可以使用 M-SPC 逐步缩小搜索范围,例如: C-c p f l i b M-SPC b a n a n a s M-SPC 。匹配仍然是模糊的,因此不用担心先通过“香蕉”还是“lib”缩小搜索范围。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接