jeet-sorathiya/YourJump
Instant directory navigation for Linux — bookmark your paths, jump with one word.
YourJump (yj) ⚡
Instant directory navigation for Linux — bookmark your paths, jump with one word.
What is YourJump?
YourJump is a lightweight, zero-dependency Bash/Zsh shell tool that lets you bookmark any directory and jump to it instantly from anywhere in your terminal — using just one short word.
No more typing long paths. No more cd ../../some/deeply/nested/folder. Save it once, jump to it forever.
# Save a directory
yj add prj /home/user/my-projects
# Jump to it from anywhere, instantly
yj prjTable of Contents
- Features
- Requirements
- Installation
- Usage
- Command Reference
- How It Works
- Updating
- Uninstalling
- Contributing
- Changelog
- License
Features
- 🚀 Instant navigation — jump to any bookmarked folder with a single word
- 📌 Named bookmarks — save directories with memorable, short aliases
- ✏️ Rename bookmarks — rename aliases while keeping the path intact
- 🔍 Health checks — detect broken bookmarks pointing to deleted folders
- 🔄 Self-updating — update to the latest version with one command
- 🗑️ Clean uninstall — removes all traces from your shell config
- 🎨 Color output — readable, color-coded terminal output (auto-disabled in non-TTY)
- 🐚 Bash & Zsh support — works with the two most common Linux shells
- 📦 Zero dependencies — only needs
curlorwget(usually pre-installed)
Requirements
| Requirement | Details |
|---|---|
| OS | Linux (any modern distribution) |
| Shell | Bash 4+ or Zsh |
| Tools | curl or wget (for install/update) |
Installation
Option 1: One-line Install (Recommended)
Paste this into your terminal and press Enter:
curl -fsSL https://raw.githubusercontent.com/jeet-sorathiya/YourJump/main/install.sh | bashOr with wget if you don't have curl:
wget -qO- https://raw.githubusercontent.com/jeet-sorathiya/YourJump/main/install.sh | bashAfter installation, reload your shell:
source ~/.bashrc # for Bash users
# — or —
source ~/.zshrc # for Zsh usersOr simply open a new terminal window.
Option 2: Clone and Install
If you prefer to inspect the code before running it:
# Clone the repository
git clone https://github.com/jeet-sorathiya/YourJump.git
cd yourjump
# Run the installer
bash install.shThen reload your shell:
source ~/.bashrcWhat the Installer Does
The installer performs these steps automatically:
- Creates
~/.yourjump/directory to store YourJump files - Places
yourjump.shinside it (copied locally or downloaded from GitHub) - Creates an empty
~/.yourjump/bookmarksfile - Adds a source hook to your shell config (
~/.bashrc,~/.zshrc, and/or~/.bash_profile)
Note: If you already have bookmarks from a previous install, the installer will keep them. It will not overwrite your existing bookmarks file.
Usage
Navigation
yj <alias>Jump to a directory you have previously saved.
yj prj # cd to whatever path "prj" points toBookmark Management
Add a bookmark
Save the current directory under an alias:
yj add <alias>Save a specific path under an alias:
yj add <alias> <path>Examples:
yj add prj # saves $(pwd)
yj add prj /home/user/my-projects # saves a specific pathAlias names may only contain letters, numbers, hyphens (
-), and underscores (_).
If the alias already exists, it will be overwritten with a warning.
Remove a bookmark
yj remove <alias>Example:
yj remove prjRename a bookmark
Rename an alias while keeping the saved path:
yj rename <old-alias> <new-alias>Example:
yj rename myprj prjEdit bookmarks manually
Open the bookmarks file in your default editor ($EDITOR, defaults to nano):
yj editThe bookmarks file is a plain text file, one entry per line in the format:
alias=/absolute/path/to/directory
Clear all bookmarks
Delete all saved bookmarks (asks for confirmation):
yj clearInfo & Utility
List all bookmarks
yj listShows all saved aliases and their paths. Bookmarks pointing to missing/deleted directories are highlighted in yellow with a (missing) label.
Check for broken bookmarks
yj checkShows only bookmarks whose target directory no longer exists, so you can clean them up.
Show version
yj versionShow help
yj helpPrints a full list of available commands and examples.
Examples
# Save your projects folder
yj add prj /home/user/projects
# Jump to it from anywhere
yj prj
# Save the current directory as "work"
cd /var/www/html/myapp
yj add work
# List all bookmarks
yj list
# Rename a bookmark
yj rename work myapp
# Remove a bookmark you no longer need
yj remove myapp
# Check for any broken bookmarks
yj check
# Edit your bookmarks file directly
yj editCommand Reference
| Command | Description |
|---|---|
yj <alias> |
Jump to the saved directory |
yj add <alias> |
Save current directory as alias |
yj add <alias> <path> |
Save a specific path as alias |
yj remove <alias> |
Delete a bookmark |
yj rename <old> <new> |
Rename an alias, keep its path |
yj list |
Show all bookmarks (flags missing paths) |
yj check |
Show only broken/missing bookmarks |
yj edit |
Open bookmarks file in default editor |
yj clear |
Delete all bookmarks (asks confirmation) |
yj update |
Fetch latest version from GitHub |
yj version |
Show current installed version |
yj uninstall |
Completely remove YourJump |
yj help |
Show all commands and examples |
How It Works
YourJump is a shell function, not a standalone binary. The main script (yourjump.sh) is sourced into your shell session via your shell config file, so the yj function has full access to your shell's cd command — which is necessary because a subprocess cannot change the parent shell's working directory.
File locations after install:
| Path | Purpose |
|---|---|
~/.yourjump/yourjump.sh |
Main script (sourced on shell startup) |
~/.yourjump/bookmarks |
Plain-text bookmarks database |
Shell config hook (added automatically):
# YourJump — https://github.com/jeet-sorathiya/YourJump
source "~/.yourjump/yourjump.sh"This is added to ~/.bashrc, ~/.zshrc, and/or ~/.bash_profile depending on which ones exist on your system.
Updating
To update YourJump to the latest version from GitHub, run:
yj updateThis command will:
- Download the latest
yourjump.shfrom GitHub - Compare the remote version with your installed version
- Replace the installed script if a newer version is available
- Notify you if you are already up to date
After updating, reload your shell:
source ~/.yourjump/yourjump.sh
# — or open a new terminal windowUninstalling
To completely remove YourJump from your system:
yj uninstallThis command will:
- Ask for confirmation before doing anything
- Remove the source hook from
~/.bashrc,~/.zshrc, and~/.bash_profile - Delete the
~/.yourjump/directory (including your bookmarks file)
After uninstalling, restart your terminal to finish the cleanup.
⚠️ Warning: This will permanently delete all your saved bookmarks. There is no undo.
Contributing
Contributions are welcome! Here's how to get started:
-
Fork the repository on GitHub
-
Clone your fork locally
git clone https://github.com/your-username/yourjump.git cd yourjump -
Create a branch for your feature or fix
git checkout -b feature/my-feature
-
Make your changes to
yourjump.shorinstall.sh -
Test your changes by sourcing the script locally
source ./yourjump.sh yj help
-
Commit and push your branch
git commit -m "feat: describe your change" git push origin feature/my-feature -
Open a Pull Request on GitHub
Guidelines
- Keep it simple and portable — target Bash 4+ and Zsh
- Avoid external dependencies
- Follow the existing code style (function naming, comments, colour usage)
- Update
CHANGELOG.mdfor any user-facing changes
Changelog
See CHANGELOG.md for a full history of changes.
v1.0.0 — 2026-03-13
Initial release.
yj add,yj <alias>,yj remove,yj rename,yj list,yj checkyj edit,yj clear,yj update,yj uninstall,yj version,yj help- One-line installer via
curl | bash - Bash and Zsh support
- Alias name validation (alphanumeric, dash, underscore only)
License
MIT License — © 2026 jeet-sorathiya
You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of this software under the terms of the MIT License.