# 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). --- ## 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. - **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. - **Backup Files**: - Quick backups with `Ctrl+B`, appending timestamps for safety. Extension ends with .bak which you can list in your .gitignore. - **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. - **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: ```bash sudo cp rzf /usr/local/bin/ ``` - Add a bash shortcut for quick launching: ```bash bind -x '"\C-f": rzf' ``` - **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`). - **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!