Jump
Jump helps you navigate faster by learning your habits. ✌️
Install / Use
/learn @gsamokovarov/JumpREADME
Jump
Jump integrates with your shell and learns where you go. It tracks the directories you visit and lets you jump to the right one with just a few fuzzy-typed characters.
Installation
Packages are available on the following platforms:
| Platform | Command |
| --- | --- |
| macOS | brew install jump or port install jump |
| Linux | sudo snap install jump |
| Nix | nix-env -iA nixpkgs.jump |
| Go | go install github.com/gsamokovarov/jump@latest |
| Distribution | Command |
| --- | --- |
| Arch | sudo yay -S jump |
| Ubuntu / Debian | wget https://github.com/gsamokovarov/jump/releases/download/v0.67.0/jump_0.67.0_amd64.deb && sudo dpkg -i jump_0.67.0_amd64.deb |
| Fedora | wget https://github.com/gsamokovarov/jump/releases/download/v0.67.0/jump-0.67.0-1.x86_64.rpm && sudo rpm -i jump-0.67.0-1.x86_64.rpm |
| Void | xbps-install -S jump |
Shell Integration
Jump is used through its helper function – j by default. Add it to your shell:
bash / zsh
eval "$(jump shell)"
fish
jump shell fish | source
PowerShell
Invoke-Expression (&jump shell pwsh | Out-String)
Nushell
jump shell nushell | save --append $nu.config-path
Murex
murex-package install https://github.com/lmorg/murex-module-jump.git
Jump begins tracking directories automatically once integrated.
Custom binding
The letter j is the default binding for Jump. But if that's not your jam, you can customize it to your liking.
eval "$(jump shell --bind=z)"
eval "$(jump shell --bind=goto)"
Or bind it directly to cd:
eval "$(jump shell --bind=cd)"
Typing cd project now performs a fuzzy jump.
Usage
Summary (Quick Examples)
j wc # Fuzzy Jump
j web-console # Exact Match
j dev/soc/web # Deep Jump
j ch site # Multi-Part Match
j app/ # Relative Jump
j . # Repo Root
j . cable # Based Mode
j - # cd -
j .. # cd ..
j ../.. # cd ../..
j # Reverse Jump
j Dev # Case-Sensitive
That was a quick overview of how j behaves. The sections below explain each feature with landing paths.
Regular jump
j wc # -> /Users/genadi/Development/rails/web-console
j console # -> /Users/genadi/Development/rails/web-console
j b-c # -> /Users/genadi/Development/rails/web-console
j web-console # -> /Users/genadi/Development/rails/web-console (exact)
Deep jump
j ch site # -> /Users/genadi/Development/chaos/website
j dev/soc/web # -> /Users/genadi/Development/society/website
Spaces and slashes work interchangeably.
Based Mode
j . cable # -> /Users/genadi/Development/rails/rails/actioncable
j . actionview/app # -> /Users/genadi/Development/rails/rails/actionview/app
j . # -> /Users/genadi/Development/rails/rails
Useful for monorepos with many repeated directory names.
Based mode determines the base directory using this priority:
$JUMP_BASED_PATHenvironment variable (or$JUMP_BASE_DIRin fish)- Git repository root (detected via
git rev-parse --show-toplevel) - Current directory (fallback when no git repo is detected)
This means j . works even outside git repositories, simply using the current directory as the base.
Relative Jump
If your input contains or ends with a slash, Jump checks for a relative directory.
# In /Users/genadi/Development/rails/rails
j actioncable/ # -> ./actioncable
j actionpack/app # -> ./actionpack/app
Jump also mirrors familiar shell movements:
j - # -> previous directory
j .. # -> parent directory
j ../.. # -> grandparent directory
If the relative path does not exist, Jump falls back to fuzzy search.
Reverse jump
j web # -> /Users/genadi/Development/society/website
j # -> /Users/genadi/Development/chaos/website
Case-sensitive jump
j Dev # -> /Users/genadi/Development
Pins
cd /Users/genadi/development/rails
jump pin r
j r # -> /Users/genadi/development/rails
List and remove pins:
jump pins
jump unpin r
Database Tools
jump clean # remove stale entries
jump forget # forget current directory
jump top # ranked directories
jump top --score # ranked directories with numeric scores
jump top dev # fuzzy filtered list
Importing from autojump or z
jump import
jump import autojump
jump import z
Imports merge into your existing database without overwriting scores.
Why Jump?
Cause it's good!
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
isf-agent
a repo for an agent that helps researchers apply for isf funding
