Is there a quick file open/find like IntelliJ'

2019-08-15 09:22发布

I'm looking for something that's a bit robust in how it finds files in 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. 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? Something with fuzzy search. But in Emacs? That could help with this problem?

3条回答
叛逆
2楼-- · 2019-08-15 09:45
  1. See this EmacsWiki page, which is is a jumping-off place for multiple answers to your question.

  2. Emacs has a built-in file-name cache -- see (emacs) File Name Cache and this page.

  3. See also Emacs bookmarks, and in particular, Bookmark+. You can bookmark any file or set of files. You can bookmark a Dired buffer, including its omit set, markings, and included subdirs. You can bookmark a set of such Dired buffers. 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. 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.

查看更多
Ridiculous、
3楼-- · 2019-08-15 10:02

Projectile can probably do what you're after. It describes itself as a "project interaction library" with facilities for finding project files quickly.

查看更多
Luminary・发光体
4楼-- · 2019-08-15 10:08

Try projectile: https://github.com/bbatsov/projectile (see its fancy UI, helm-projectile). You'll have the command projectile-find-file. It is based on projects (they are defined by a .git/.gh/… or a .projectile).

  • permanent caching ? Yes
  • filter out directories ? Yes (with a command or a config into the .projectile)
  • fuzzy search ? Yes, a few: emacs'default, ido, ido-fuzzy, grizzl or helm.

you install it simply with M-x package-install RET projectile RET.

查看更多
登录 后发表回答