tree ba5d2f81d2ac0c93db9e76bfbb210f99ad79a2f3
parent 3e7c0fbda0e2c9dbb56ccfcbb42fd58569fbf7ba
author Erich Smith <heartquest@gmail.com> 1336398996 -0400
committer Erich Smith <heartquest@gmail.com> 1336409768 -0400

fasd 0.5.4 plugin

The [fasd](https://github.com/clvv/fasd) project replaces the current
z() functionality, and generalizes it for all files and directories.

It provides a 'z' alias which works like z() does today, but faster, as
well as 'f' for selecting files, and 'd' for selecting directories, all
based on 'frecency' with Bayesian inference calculations. It is also
trivial to set up a 'v' alias to edit frecently used files.

Seriously, two points just for using Bayes' theorem.

I've sourced this as a plugin, and made a minor modification to @clvv's
0.5.4 file to bootstrap the initialization process without installing
fasd outside of Bash_it, or modifying the PATH.

This doesn't fully install fasd on a system (for instance, the man page
is not installed).

Using this as a plugin will clobber the z plugin.

This also installs a PROMPT_COMMAND hook. I don't have a complex setup,
but it is possible this may not play nice with other PROMPT_COMMAND
hooks if they are set. It seems to work well on my box.

As an aside, it appears that z.bash is out-of-date compared with @rupa's
latest code.
