1

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?

lucidquiet
  • 6,124
  • 7
  • 51
  • 88
  • see also http://stackoverflow.com/questions/19040160/how-do-i-find-file-recursively-in-directories to hear about ido-find-file and icycle – Ehvince Jun 12 '14 at 15:39
  • see also http://stackoverflow.com/questions/9396967/emacs-what-are-good-tactics-for-navigating-directories-and-opening-files/9397564#9397564 for a suggestion about `anything`. – Adobe Jun 12 '14 at 18:09
  • Ah hell this brings me to a follow up question then. Do projectile and icicles overlap in features, and possibly "don't play nicely together?" – lucidquiet Jun 13 '14 at 01:58
  • See my reply to your other copy of the same question. – Drew Jun 13 '14 at 02:04

3 Answers3

0

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

Dan
  • 5,209
  • 1
  • 25
  • 37
0

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.

Ehvince
  • 17,274
  • 7
  • 58
  • 79
0
  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.

Drew
  • 29,895
  • 7
  • 74
  • 104
  • Ah hell this brings me to a follow up question then. Do `projectile` and `icicles` overlap in features, and possibly "don't play nicely together?" – lucidquiet Jun 13 '14 at 01:57
  • No idea; sorry. But **Icicles**, at least, is *extremely* customizable and fully documented. If there are default key bindings that conflict, for example, then just change those. No doubt you will need to read some of the **Icicles** and Projectile doc -- you cannot expect to use something non-trivial without understanding something about it. – Drew Jun 13 '14 at 02:03