- When it fits
- Useful for text or regex searches across directories, with match output for further processing.
- Before you start
- Install an appropriate system package or follow upstream instructions. Basic search does not need a cloud account.
- Limits and tradeoffs
- Ignored, hidden, and binary files are filtered by default. No match does not always mean the text is absent.
Start with the task · Choose a CLI
Terminal tools for search, selection, and navigation
Understand ripgrep, fzf, and zoxide, then improve the terminal action you repeat most often.
Official sources checked · SuperCLI editorial guidance
The short answer
Use ripgrep to search file contents, fzf to interactively select from candidates, and zoxide to revisit directories. They solve different problems and can complement each other. Start with the action you repeat most; you do not need to rebuild your shell.
Choose by the task
| Your task | Start here | Why it fits |
|---|---|---|
| Locate text in source code and files | ripgrep | Useful for text or regex searches across directories, with match output for further processing. |
| Select from filenames, history, or other lists | fzf | Useful for adding fuzzy matching and interactive selection to existing candidates, including workflows with ripgrep. |
| Return to frequently visited directories | zoxide | Useful for repeatedly visiting project directories, matching locations from visit history instead of typing long paths. |
Matched by task, not ranked by popularity. These notes are based on official sources, not independent installation tests by SuperCLI.
Check prerequisites and limits
- When it fits
- Useful for adding fuzzy matching and interactive selection to existing candidates, including workflows with ripgrep.
- Before you start
- Provide candidate input. Configure shell integration for history and file-selection shortcuts as documented.
- Limits and tradeoffs
- fzf filters candidates; it does not define the full search scope for you. Interactive usage expects a user selection.
- When it fits
- Useful for repeatedly visiting project directories, matching locations from visit history instead of typing long paths.
- Before you start
- Add initialization for your shell after installation. Interactive selection and some completion features also need fzf.
- Limits and tradeoffs
- It depends on visit history rather than searching the entire disk. A fresh installation has not yet learned your directories.
Start with one small task
- Decide whether you need content search, result selection, or directory navigation rather than installing by popularity.
- Try a small directory or candidate list, then follow the documented shell integration. Keep existing commands as a fallback.
- Make script inputs and outputs explicit. For missing search results or poor navigation matches, check filters, shell initialization, and visit history.
These tools process local input without a model-service account for their basic functions. Installation, shortcuts, and integration depend on your OS and shell. Interactive tools are not drop-in replacements for unattended scripts.