Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
J

jump

> 编程语言
Open source

Jump helps you navigate faster by learning your habits. ✌️

1.9K stars0 likes2 views
WebsiteGitHub

About

Jump helps you navigate faster by learning your habits. ✌️

[releases]

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
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:

bash
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

bash
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.

bash
eval "$(jump shell --bind=z)"
eval "$(jump shell --bind=goto)"

Or bind it directly to cd:

bash
eval "$(jump shell --bind=cd)"

Typing cd project now performs a fuzzy jump.


Usage

Summary (Quick Examples)

bash
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

bash
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

bash
j ch site          # -> /Users/genadi/Development/chaos/website
j dev/soc/web      # -> /Users/genadi/Development/society/website

Spaces and slashes work interchangeably.


Based Mode

bash
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:

  1. $JUMP_BASED_PATH environment variable
  2. Git repository root (detected via git rev-parse --show-toplevel)
  3. 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.

bash
# In /Users/genadi/Development/rails/rails
j actioncable/     # -> ./actioncable
j actionpack/app   # -> ./actionpack/app

Jump also mirrors familiar shell movements:

bash
j -                # -> previous directory
j ..               # -> parent directory
j ../..            # -> grandparent directory

If the relative path does not exist, Jump falls back to fuzzy search.


Reverse jump

bash
j web              # -> /Users/genadi/Development/society/website
j                  # -> /Users/genadi/Development/chaos/website

Case-sensitive jump

bash
j Dev              # -> /Users/genadi/Development

Pins

bash
cd /Users/genadi/development/rails
jump pin r

j r                # -> /Users/genadi/development/rails

List and remove pins:

bash
jump pins
jump unpin r

Database Tools

bash
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

bash
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!

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Goautojumpbashfishfuzzy

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言