A Zsh plugin that quickly jumps to frequently and recently used directories using a 'frecency' algorithm.
Zsh-z is a Zsh plugin that enables quick navigation to directories based on how frequently and recently you've used them. It solves the problem of repetitive `cd` commands by learning your directory habits and predicting where you want to go from partial input. The plugin uses a 'frecency' algorithm to rank directories and jump to the best match.
Zsh users who frequently switch between directories in the terminal and want to reduce typing and navigation time. It's especially useful for developers, system administrators, and power users working in complex directory structures.
Developers choose Zsh-z for its pure Zsh implementation, which makes it significantly faster and more stable than alternatives that rely on external tools. Its drop-in compatibility with `rupa/z` and rich customization options provide a seamless, reliable directory jumping experience.
Jump quickly to directories that you have visited "frecently." A native Zsh port of z.sh with added features.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written entirely in Zsh script, eliminating external tool dependencies, which the README states leads to over 100% faster directory switching on Cygwin, MSYS2, and WSL compared to rupa/z.
Uses Zsh's zsh/system module for file-locking, preventing race conditions and database corruption—a noted improvement over rupa/z's instability issues.
Shares the same database format as rupa/z, allowing seamless switching between tools and preserving directory history without migration hassles.
Offers numerous environment variables like ZSHZ_CASE for case sensitivity and ZSHZ_EXCLUDE_DIRS for filtering, providing fine-tuned control over navigation logic.
Completions are sorted by frecency by default, with options for alphabetical sorting, enhancing usability by prioritizing likely directories.
Only works with Zsh, making it unsuitable for users of bash, fish, or other shells without switching shells or maintaining separate tools.
The README admits a known bug where tab completion on strings with spaces leaves residual text on the command line, which can be annoying and disrupt workflow.
Non-framework installations require manual sourcing and compinit handling, which is more complex than plug-and-play solutions for less technical users.
While compatible with rupa/z's database, it lacks native support for advanced features like cloud sync or multi-user history, which some alternatives offer.