JUMP(1)

jump – navigate the filesystem using fuzzy directory matchingj term
j term/subterm
j . [term]
jump command [options]Jump is a directory navigation tool that learns the folders you visit and lets you return to them with short, fuzzy search terms. It integrates with your shell through the helper function j, which accepts only search terms – no flags, no options. Whatever you type becomes a pattern Jump matches against its directory database.

Jump updates its scoring database automatically as you navigate.Add Jump to your shell configuration:

    eval "$(jump shell)"                 # bash / zsh
    jump shell fish | source             # fish
    Invoke-Expression (&jump shell pwsh) # PowerShell
    jump shell nushell | save --append $nu.config-path # Nushell
    murex-package install https://github.com/lmorg/murex-module-jump.git # Murex

Jump begins tracking directories as soon as this integration is active.

Keybindings
Choose an alternative helper name instead of j:

    eval "$(jump shell --bind=z)"        # bind to `z`
    eval "$(jump shell --bind=goto)"     # bind to `goto`
    eval "$(jump shell --bind=cd)"       # override `cd`

Binding to cd makes directory changes behave like Jump searches:

    cd project          # performs a fuzzy jump
    cd src/app          # performs a relative jump when the path exists

    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
    Fuzzy match against frequently visited directories:

    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

Exact matches override fuzzy scoring:

    j web-console      # -> /Users/genadi/Development/rails/web-console

    Jump can match across multiple path components:

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

Useful when many directories share similar names.Limit fuzzy search to the current git repository root or $JUMP_BASED_PATH:

    j . cable          # -> /Users/genadi/Development/rails/rails/actioncable
    j . actionview/app # -> /Users/genadi/Development/rails/rails/actionview/app
    j .                # -> /Users/genadi/Development/rails/rails

Ideal for monorepos with repeated directory names.If the input contains or ends with a slash, Jump checks for an existing relative path:

    j actioncable/     # -> ./actioncable
    j actionpack/app   # -> ./actionpack/app

Jump also mirrors shell-style movements:

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

If the path does not exist, Jump falls back to fuzzy matching.Repeat j with no arguments to jump to the next-best match:

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

    Capital letters trigger case-sensitive search:

    j Dev              # -> /Users/genadi/Development

    Pins force a search term to always resolve to a specific directory:

    cd /Users/genadi/development/rails
    jump pin r
    j r                # -> /Users/genadi/development/rails

Manage pins:

    jump pins
    jump unpin r

    Jump maintains an internal scoring database.

    jump clean         # remove stale entries
    jump forget        # forget the current directory
    jump top           # show ranked directories
    jump top --score   # include numeric scores
    jump top dev       # filter by fuzzy term

    Import data from previous tools:

    jump import
    jump import autojump
    jump import z

Existing scores are preserved during import.Jump is opinionated, and we recommend sticking with the hand-tuned defaults that have evolved over years of use. Still, a few settings are available when tuning the behavior is helpful. These options are managed with jump settings.

  --space
Control how spaces are interpreted.
Removing spaces allows more relaxed matching:

    jump settings --space=ignore

  --preserve
Prevent automatic cleanup of missing directories:

    jump settings --preserve=true

  --reset
Reset all settings to defaults:

    jump settings --reset

    Genadi Samokovarovautojump(1), z(1), pushd(1), popd(1)