gsamokovarov/jump has 1,950 GitHub stars and 65 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 00:58 UTC. Last push 2026-10-27.
Jump helps you navigate faster by learning your habits. ✌️
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalJump
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 |
Linux distribution packages
| 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 |
Or install the latest release for the current user into ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/gsamokovarov/jump/main/install.sh | bash
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- 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, z or zoxide
jump import
jump import autojump
jump import z
jump import zoxide
Imports merge into your existing database without overwriting scores.
Why Jump?
Cause it's good!
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
532,882 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,190 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,461 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
333,132 stars