jump  by gsamokovarov

CLI tool for faster directory navigation via learned habits

Created 11 years ago
1,938 stars

Top 21.8% on SourcePulse

GitHubView on GitHub
Project Summary

Jump is a shell utility that enhances directory navigation by learning user habits and providing fuzzy-matched shortcuts. It's designed for developers and power users seeking to minimize keystrokes and improve command-line efficiency.

How It Works

Jump integrates with the shell via a helper function (defaulting to j) that monitors directory changes. It builds a database of visited directories and uses fuzzy matching on user-provided search terms to quickly navigate. The system prioritizes shorter, more frequent search terms and allows for "deep jumps" by including path components in the search query.

Quick Start & Requirements

  • Installation: Available via Homebrew (brew install jump), Snap (sudo snap install jump), Nix (nix-env -iA nixpkgs.jump), Go (go install github.com/gsamokovarov/jump@latest), and direct package downloads for Debian/Ubuntu/Fedora.
  • Integration: Requires adding eval "$(jump shell)" (or similar for other shells) to your shell's configuration file (e.g., ~/.bashrc, ~/.zshrc).
  • Documentation: jump

Highlighted Details

  • Fuzzy matching allows for approximate directory name searches (e.g., j wc for /Users/genadi/Development/rails/web-console).
  • Supports "deep jumps" by including path components (e.g., j dev soc web).
  • "Reverse jump" (j with no arguments) navigates to the second-best match if the initial result is incorrect.
  • "Pins" allow users to force specific search terms to always resolve to a particular directory.

Maintenance & Community

  • The project is actively maintained by gsamokovarov.
  • Migration from autojump or z is supported via jump import.

Licensing & Compatibility

  • The project is licensed under the MIT License.
  • Compatible with Bash, Zsh, Fish, PowerShell, and Murex.

Limitations & Caveats

The j helper function is designed to accept only search terms, with no arguments or switches, which might be a learning curve for users accustomed to tools with more explicit commands.

Health Check
Last Commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Vaibhav Nivargi Vaibhav Nivargi(Cofounder of Moveworks), Jared Palmer Jared Palmer(SVP at GitHub; Founder of Turborepo; Author of Formik, TSDX), and
4 more.

searchkick by ankane

0%
7k
Ruby gem for integrating intelligent search
Created 13 years ago
Updated 4 days ago
Feedback? Help us improve.