Jump helps you navigate your file system faster by learning your habits.
Say you visit /Users/genadi/Development/web-console a lot. Jump can
get you there with j wc or j web or j webc. You name it,
loosely, and jump will figure it out for you.
This comes with zero configuration! Install jump, integrate it to your shell
and let it learn your habits for a while. Simply cd to your directories like
you always do. After a while, jump would know how to get you when you type
j somewhere or just j some.
Maybe you made a typo like j ssome? No problem, jump uses fuzzy searching, so
you can type tiny, loose search term and be tolerated for your typos.
Integration
Jump needs to be integrated into your shell to observe your cd habits. The
integrations also provides the j helper, which you would use to interact with
jump.
Put the line below in ~/.bashrc, ~/bash_profile or .zshrc for
zshell:
eval "$(jump shell)"Put the line below in ~/.config/fish/config.fish for fish shell:
status --is-interactive; and . (jump shell | psub)Once the integration is done, work like you always do. In a while you
can just j to your projects from everywhere.
But j is not my favourite letter!
This is fine, you can bind jump to z, with this:
eval "$(jump shell --bind=z)"And now, you can use jump like z dir and it would just work! This is only
an example, you can bind it to anything. If you are one of those persons that
likes to type a lot with their fingers, you can do:
eval "$(jump shell --bind=goto)"Voila! goto dir becomes a thing. The possibilities are endless!
Installation
Jump comes in packages for macOS (homebrew) and Linux.
macOS
brew install jumpUbuntu/Debian
wget https://github.com/gsamokovarov/jump/releases/download/v0.13.0/jump_0.13.0_amd64.deb
sudo dpkg -i jump_0.13.0_amd64.debRed Hat/Fedora
wget https://github.com/gsamokovarov/jump/releases/download/v0.13.0/jump-0.13.0-1.x86_64.rpm
sudo rpm -i jump-0.13.0-1.x86_64.rpmYou can also build jump by yourself. Or hack on it, you know, if you like Go
and UNIX stuff.

