简体   繁体   English

是否可以像IntelliJ的查找文件或Sublime的查找文件一样快速打开/查找文件? 带有模糊搜索的东西。 但是在Emacs中?

[英]Is there a quick file open/find like IntelliJ's find file, or Sublime's? Something with fuzzy search. But in Emacs?

I'm looking for something that's a bit robust in how it finds files in Emacs. 我正在寻找一种在Emacs中查找文件的方式,该方式有些健壮。 I have a project made up a number of different files, and a lot of them. 我有一个项目,该项目由许多不同的文件组成,其中很多。 So, I think maybe Emacs would need to cache a lookup or something like that to make a quick find/open facility to work. 因此,我认为Emacs可能需要缓存查询或类似的东西才能使快速查找/打开工具起作用。 It would need to also be configured per project to consider only some directories and exclude others inside of this project, since a number of files and directories are generated and hold a massive amount of text and sometimes a concatenated representation of the rest of the code. 还需要针对每个项目进行配置,以仅考虑某些目录,并排除该项目中的其他目录,因为生成了许多文件和目录,并包含大量文本,有时还包含其余代码的串联表示。

Is there a quick file open/find like IntelliJ's find file, or Sublime's? 是否可以像IntelliJ的查找文件或Sublime的查找文件一样快速打开/查找文件? Something with fuzzy search. 带有模糊搜索的东西。 But in Emacs? 但是在Emacs中? That could help with this problem? 那可以解决这个问题吗?

Projectile can probably do what you're after. 弹丸可能会做你所追求的。 It describes itself as a "project interaction library" with facilities for finding project files quickly. 它自称为“项目交互库”,具有快速查找项目文件的功能。

Try projectile : https://github.com/bbatsov/projectile (see its fancy UI, helm-projectile). 尝试弹丸https : //github.com/bbatsov/projectile (请参阅其花哨的UI,helm-projectile)。 You'll have the command projectile-find-file . 您将拥有命令projectile-find-file It is based on projects (they are defined by a .git/.gh/… or a .projectile). 它基于项目(它们由.git / .gh /…或.projectile定义)。

  • permanent caching ? 永久缓存? Yes
  • filter out directories ? 过滤出目录? Yes (with a command or a config into the .projectile) 是(通过命令或配置进入.projectile)
  • fuzzy search ? 模糊搜索? Yes, a few: emacs'default, ido, ido-fuzzy, grizzl or helm. 是的,有几个:emacs的默认值,ido,ido-fuzzy,灰熊或掌舵。

you install it simply with Mx package-install RET projectile RET . 您只需使用Mx package-install RET projectile RET安装它。

  1. See this EmacsWiki page, which is is a jumping-off place for multiple answers to your question. 请参阅 EmacsWiki页面,该页面是您对问题的多个答案的起点。

  2. Emacs has a built-in file-name cache -- see (emacs) File Name Cache and this page . Emacs具有内置的文件名缓存-请参阅(emacs) File Name Cache此页面

  3. See also Emacs bookmarks, and in particular, Bookmark+ . 另请参阅Emacs书签,尤其是Bookmark + You can bookmark any file or set of files . 您可以为任何文件或文件集添加书签。 You can bookmark a Dired buffer, including its omit set, markings, and included subdirs. 您可以为Dired缓冲区添加书签,包括其省略集,标记和包含的子目录。 You can bookmark a set of such Dired buffers. 您可以为一组此类Dired缓冲区添加书签。 You can aggregate bookmarks and use them to perform actions that set up environments etc. They can be triggered in various ways. 您可以聚合书签并使用它们执行设置环境等的操作。可以通过多种方式触发它们。 You can bookmark Emacs desktops. 您可以为Emacs桌面添加书签。 You can tag bookmarks and files & dirs with free-form tags, which lets you organize them flexibly into overlapping sets. 您可以使用自由格式的标签来标记书签,文件和目录,从而可以将它们灵活地组织为重叠的集合。

  4. See also this page about project support with Icicles . 另请参阅此页面以了解有关Icicles的项目支持。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM