Fiplr - Find in Project for Emacs
Fiplr (pronounced FIP-ler, as in Find in Project) is an Emacs package to allow you to locate and open files deep within a complex directory tree, using fuzzy matching.
A key design goal is to make Fiplr really easy to use with little-to-no configuration, beyond a single key binding.
It is heavily inspired by Vim's ctrlp, TextMate's
Command-T, and Sublime's
Internally it uses Grizzl to do the fuzzy searching.
The easiest way to install Fiplr is through
M-x package-install RET fiplr RET
fiplr-find-file and the minibuffer will open, along with a menu of files
in your project. Start typing and use the arrow keys to pick a file.
By default it looks through all the parent directories of the file you're
editing until it finds a .git, .hg, .bzr or .svn directory. You can
customize this list of root markers by setting
(setq fiplr-root-markers '(".git" ".svn"))
Some files are ignored from the directory tree because they are not text
files, or simply to speed up the search. The default list can be
customized by setting
(setq fiplr-ignored-globs '((directories (".git" ".svn")) (files ("*.jpg" "*.png" "*.zip" "*~"))))
These globs are used by the UNIX `find' command's -name flag.
- Find files: M-x fiplr-find-file RET
- Find directories: M-x fiplr-find-directory RET
- Clear caches: M-x fiplr-clear-cache RET
Fiplr caches the directory tree to avoid rescanning every time it is run. You
can reload the file list during a search by hitting C-c r while
fiplr is running. You may alternatively use
For convenience, bind C-x f to
(global-set-key (kbd "C-x f") 'fiplr-find-file)
Copyright & Licensing
Copyright (c) Chris Corbyn 2013, Licensed under the same terms as GNU Emacs.