RZF - The Ultimate Terminal File Explorer and Search Tool
Welcome to RZF, the most powerful, fast, and versatile terminal-based file explorer and search utility designed for every terminal warrior. Built with performance in mind, leveraging C's maximum efficiency, RZF is your go-to tool for managing and navigating millions of files seamlessly.
Development is mostly done manually, but later completed and refactored with several LLM's (Gemini Pro, ChatGPT Plus and Claude Pro).
And yes, this is a fully vibed README. I'm terrible at documenting and don't like to do it.
Key Features
- Lightning-fast file indexing capable of handling millions of files without breaking a sweat.
- Smart directory skipping: Automatically skips directories like
venv
,node_modules
, and other common variants to speed up searches. - Powerful search modes:
- Fuzzy search for quick, approximate matching.
- Regex search for precise pattern matching.
- File filtering:
- Filter by extension (e.g.,
:py
,:img
,:doc
). - Show only bookmarked files or all files.
- Filter by extension (e.g.,
- Favorites and Bookmarks:
- Easily add or remove bookmarks.
- Quick access to favorite files.
- Preview Mode:
- Toggle preview panel to view file contents or directory listings without leaving the interface.
- Supports binary and text files, directories, and images.
- Clipboard Integration:
- Copy file paths with
Ctrl+X
. - Copy file contents directly to clipboard with
Ctrl+Y
— perfect for sharing snippets or feeding into an LLM.
- Copy file paths with
- Backup Files:
- Quick backups with
Ctrl+B
, appending timestamps for safety. Extension ends with .bak which you can list in your .gitignore.
- Quick backups with
- File Operations:
- Delete files or directories with confirmation.
- Recursive delete for directories.
- Open files or directories with
xdg-open
.
- Navigation:
- Go to parent directory (
Ctrl+U
). - Change sort modes (
Ctrl+V
). (V is Dutch for volgorde) - Toggle between sorting by name, size, or date.
- Go to parent directory (
- Search History & Command Prompt:
- Recall previous searches.
- Run custom commands on selected files.
- User-friendly shortcuts:
- Help menu with all shortcuts.
- Toggle bookmarks, search modes, and preview with simple keystrokes.
- Static Compilation:
- Fully static binary for maximum portability.
- Designed to work out-of-the-box on most Linux systems.
- Lightweight & Efficient:
- Minimal dependencies.
- Designed for maximum performance and safety.
Shortcuts & Usage
Shortcut | Description |
---|---|
Arrow Up / Arrow Down | Navigate through files and directories |
Enter | Open file or directory |
Ctrl+X | Copy selected file path to clipboard |
Ctrl+Y | Copy file contents to clipboard (great for sharing snippets or LLM input) |
Ctrl+B | Backup selected file with timestamp (safe and quick) |
Ctrl+D | Delete selected file or directory (with confirmation) |
Ctrl+U | Go to parent directory |
Ctrl+V | Toggle sort mode (Name, Size, Date) |
Ctrl+P | Toggle preview mode to view file contents or directory listing |
Ctrl+S | Toggle bookmark for selected file |
Ctrl+F | Show only bookmarked files |
Ctrl+R | Search history navigation |
Ctrl+E | Toggle regex search mode |
? | Show help menu with all shortcuts |
Ctrl+C / Esc | Exit the application |
Tips & Recommendations
- Installation:
- Copy the binary to
/usr/local/bin
for easy global access:sudo cp rzf /usr/local/bin/
- Add a bash shortcut for quick launching:
bind -x '"\C-f": rzf'
- Copy the binary to
- Performance & Compatibility:
- The binary is statically compiled, ensuring maximum compatibility and performance.
- It should work on most Linux distributions out-of-the-box.
- If you encounter issues or want to compile manually:
- Remove the
-static
parameter in the Makefile. - Ensure
ncurses-dev
is installed (sudo apt install libncurses-dev
).
- Remove the
- Development Setup:
- Setting up the environment is a breeze and can be done within 5 minutes.
- The code is manually written to optimize performance and usability.
- Use Cases:
- Perfect for developers, sysadmins, and terminal enthusiasts.
- Ideal for managing large codebases, quick file access, and integrating with LLMs.
- The copy-to-clipboard feature (
Ctrl+Y
) makes it easy to extract snippets or file contents for sharing or AI processing. - Backup files instantly with
Ctrl+B
— a lifesaver when experimenting or editing.
Why RZF?
- Performance: Fully utilizes C's speed to handle millions of files effortlessly.
- Safety: Recursive delete with confirmation, safe backups, and manual code ensure reliability.
- Convenience: All essential features are accessible via intuitive shortcuts.
- Portability: Static binary means no dependencies or complex setup.
- Manual Craftsmanship: A lot of the code is handcrafted to deliver a polished, efficient experience. Unlike this README.md :P
Final Notes
This project is the culmination of meticulous manual coding, optimized for speed, safety, and user experience. It’s a big time-saver and a powerful addition to any terminal user’s toolkit. Whether you're navigating vast codebases or managing files on a server, RZF is your ultimate terminal companion.
Support & Feedback
While I believe the application is now feature-complete and polished, I am always available for support and feedback. Feel free to reach out for assistance or suggestions.
Enjoy your terminal mastery with RZF — the ultimate tool for every terminal warrior!
.gitignore | |
main.c | |
main.o | |
Makefile | |
README.md | |
rzf |