如何使用Emacs中的Icicles在项目中找到文件(在单个目录下定义为所有内容)?我正在寻找的功能类似于Projectile包提供的功能。
文档mentions that this is possible,但没有说明如何实际执行此操作。
我想用Icicles而不是Projectile来做这件事的原因是我想要使用Icicles完成功能而不是Projectile的类似ido的界面。
答案 0 :(得分:3)
有多种方法可以在项目文件中查找文件。您引用的文档页面是最佳起点。您选择哪种方式取决于您如何将项目定义为文件集合。
正如你所说的那样,如果你将项目文件定义为单个目录内和下的所有项目(即递归),那么这些是你想做的事情的一些方法:
使用命令icicle-locate
或icicle-locate-file
作为项目目录 - 请参阅Find Files Anywhere, Without Knowing Where
。您可以缓存项目文件名集以获得更好的性能 - 请参阅Persistent Completions。
请注意,这些命令与所有 Icicles 文件访问命令一样,也可让您搜索文件内容 - 匹配文件名或内容或两者。请参阅Match File Names and File Content Too。
正如@Aaron建议的那样,您可以为项目主目录打开Dired,然后使用 Icicles 命令之一来获取标记文件的内容:
M-x M-s m
(命令icicles-search-dired-marked-recursive
) - 它使用Icicles search。
M-+ C-F
(命令icicle-visit-marked-file-of-content-recursive
) - 它访问内容与搜索模式匹配的标记文件。 (再次,请参阅Match File Names and File Content Too。
为项目目录的Dired列表创建书签。它们可以标记或省略不同的文件集。如果您使用Bookmak+ 然后标记,省略和插入的子目录都记录为书签的一部分。
使用Dired+获得更多可能性 - Dired,冰柱和书签+ 之间的协同作用。
特别是,此处提及的所有内容以及其他内容均可从 Dired + 菜单中获得。 (这将帮助你学习他们的钥匙。)
特别是,请参阅菜单栏菜单 多个 的子菜单 在此处标记 (其处理标记的文件)。它是用于处理当前目录下任何位置的文件的菜单(无需插入子目录等)。