Code Monkey home page Code Monkey logo

fiplr's Introduction

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.

Screenshot

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 Control+P.

Internally it uses Grizzl to do the fuzzy searching.

Installation:

The easiest way to install Fiplr is through package.el + MELPA:

M-x package-install RET fiplr RET

Usage:

Run 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.

M-x fiplr-find-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 fiplr-root-markers.

(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 fiplr-ignored-globs.

(setq fiplr-ignored-globs '((directories (".git" ".svn"))
                            (files ("*.jpg" "*.png" "*.zip" "*~"))))

These globs are used by the UNIX `find' command's -name flag.

Commands:

  • 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 fiplr-clear-cache.

For convenience, bind C-x f to fiplr-find-file:

(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.

fiplr's People

Contributors

d11wtq avatar mcandre avatar purcell avatar ryuslash avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.