gpicker is a solution for quickly choosing a file from a (possibly large) project.

Files are searched by their basename, but patterns containing ‘/’ automagically turn on matching of the directory name.

It’s base filtration is similar to InteractivelyDoThings flex matching, but it places great emphasis on ‘correctly’ ordering matching names. It tries to place matches contiguously and matches on word beginnings before all other matches. It is also possible to emphasize the word beginning in a pattern by capitalizing first character (so ‘ClLoad’ will score hugely on ‘ClassLoader’), or by placing delimiter before it (’s-w-m’ for ‘several-words-matching’). See its README for more details and examples. Examples in pictures can also be seen here

It’s implemented as a gtk program (which makes it fast even on large projects) and a few emacs lisp functions to invoke it.

It can be downloaded from