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
Maybe you made a typo like
j ssome? No problem, jump uses fuzzy
searching, so you can type tiny search terms (mostly 2 or 3 characters
are enough) and be tolerated even when you have typos.
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
Put the line below in
eval "$(jump shell)"
Maybe you like fish 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
j to your projects from everywhere.
j is not my favourite letter! This is fine, you can bind jump to
eval "$(jump shell --bind=z)"
And now, you can use
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)"
goto dir becomes a thing. The possibilities are endless!
Jump comes in packages for macOS (homebrew) and Linux.
brew install jump
wget https://github.com/gsamokovarov/jump/releases/download/v0.10.0/jump_0.10.0_amd64.deb sudo dpkg -i jump_0.10.0_amd64.deb
wget https://github.com/gsamokovarov/jump/releases/download/v0.10.0/jump-0.10.0-1.x86_64.rpm sudo rpm -i jump-0.10.0-1.x86_64.rpm
You can also build jump by yourself. Or hack on it, you know, if you like Go
and unix stuff.
SourceYou need a working [Go workspace].
go get github.com/gsamokovarov/jump git clone https://github.com/gsamokovarov/jump cd jump make mv jump ~/bin # Or /usr/local/bin, if ~/bin isn't in $PATH.
Why use jump over autojump, z or something else is a valid question. I was an avid autojump user before building jump myself. My sloppy fingers were the main motivation.
I mistype a lot. With autojump, I was never tolerated for a typo. I also wanted to utilize fuzzy searching, as it saves so much effort.
Over the time I have tweaked the ranking and matching algorithm to fit my needs, so I thing it may fit yours as well. Here is a conversation about little tips and tricks using jump.
Jump is licensed under the MIT license.