An enhanced cd command integrated with a command line fuzzy finder for interactive directory navigation.
enhancd is an enhanced cd command for Unix-like shells that integrates with interactive fuzzy finders like fzf. It replaces the standard cd command, allowing users to visually select directories from their navigation history, parent paths, or subdirectories using a filter interface. It solves the problem of tedious directory navigation by making it interactive and context-aware.
Developers and system administrators who frequently navigate complex directory structures in the terminal and want a faster, more intuitive way to change directories without memorizing paths.
enhancd offers a unique blend of traditional cd compatibility and modern interactive filtering, enabling rapid directory navigation without learning a new command syntax. Its cross-shell support and extensive customization through environment variables and config files provide flexibility unmatched by simpler directory jump tools.
:rocket: A next-generation cd command with your interactive filter
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates with tools like fzf to visually select directories from history, parent paths, or subdirectories, making navigation intuitive and fast, as shown in the demo GIFs.
Special arguments like '-' for recent dirs, '..' for parents, and '.' for subdirs trigger interactive lists, extending standard cd with smart filtering per the usage table.
Allows adding custom cd options via config.ltsv files, such as integrating with ghq for repository management, enabling tailored workflows.
Works consistently on Bash, Zsh, and fish shells, ensuring broad support across different terminal environments as stated in the compatibility section.
Core interactive features depend on installing a fuzzy finder like fzf; without it, enhancd falls back to basic cd, limiting its value.
Involves managing multiple environment variables and editing config.ltsv files, which can be overwhelming for users unfamiliar with shell scripting.
Piping to cd is not supported on fish shell, restricting advanced usage scenarios as noted in the known issues section.
Listing subdirectories recursively uses find, which can be slow; the README admits installing fd is needed for better performance, indicating a bottleneck.