126 lines
5.5 KiB
Markdown
Raw Normal View History

2025-08-02 12:57:44 +02:00
# 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. Its a big time-saver and a powerful addition to any terminal users 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!