https://github.com/amrohan/termix
Termix is a modern, high-performance file manager built for your terminal.
https://github.com/amrohan/termix
csharp file-manager file-manager-cli file-navigation spectreconsole terminal terminal-based
Last synced: 5 months ago
JSON representation
Termix is a modern, high-performance file manager built for your terminal.
- Host: GitHub
- URL: https://github.com/amrohan/termix
- Owner: amrohan
- License: mit
- Created: 2025-07-29T14:50:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-11-15T14:00:49.000Z (7 months ago)
- Last Synced: 2025-11-15T16:06:13.631Z (7 months ago)
- Topics: csharp, file-manager, file-manager-cli, file-navigation, spectreconsole, terminal, terminal-based
- Language: C#
- Homepage: https://termix.pages.dev/
- Size: 23.7 MB
- Stars: 118
- Watchers: 2
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ⚡️ Termix
**A modern, high-performance file navigator for your terminal**
****
[](./LICENSE.txt)
[](https://www.nuget.org/packages/Termix/)
[](https://www.nuget.org/packages/Termix/)
[](https://dotnet.microsoft.com/)
[](https://GitHub.com/amrohan/termix/releases/)
[](https://GitHub.com/amrohan/termix/issues/)
[](https://GitHub.com/amrohan/termix/stargazers/)
Built with .NET 10 and Spectre.Console, Termix delivers a fluid, visually rich experience for navigating, searching, and
managing files and your most-used directories, all from your terminal.
**[Read the Full Documentation](https://termix.pages.dev)**
---
## Demo
https://github.com/user-attachments/assets/c7b47493-ed6b-4b29-b334-f11f65d2dd18
> **Watch the full walkthrough** → [Termix on Vimeo](https://vimeo.com/1105824424) _(1 minute)_
## Features
- **Intuitive Vim-Style Navigation**: Move efficiently with `h j k l`, `gg` / `G`, and `Ctrl+u` / `Ctrl+d`.
- **Real-time Recursive Search**: Press `s` and start typing to instantly filter your entire directory tree.
- **Advanced Bookmark System**: Press `m` to **mark** a directory, then press `b` to open a filterable menu and
instantly jump to any saved location.
- **Powerful Visual Mode**: Press `v` to select multiple files and perform batch operations (yank, cut, delete) with
ease.
- **Rich Previews**: View text files with syntax highlighting, render images in the terminal, and browse archive
contents.
- **Smart Ignoring**: Automatically respects `.gitignore` files to keep your views clean and relevant.
- **Nerd Font Support**: Enhanced with icons for file types, with a graceful ASCII fallback for universal compatibility.
- **Cross-Platform**: A single, consistent experience on Windows, macOS, and Linux.
## Installation
### Recommended: Install via Script (All Platforms)
Our installation scripts automatically download the latest native, self-contained version of Termix, which does **not**
require the .NET SDK to be installed.
**macOS / Linux:**
```bash
# Install or update to the latest version
curl -fsSL https://raw.githubusercontent.com/amrohan/termix/main/install.sh | bash
```
**Windows (PowerShell):**
```powershell
# Install or update to the latest version
iex (iwr "https://raw.githubusercontent.com/amrohan/termix/main/install.ps1")
```
_For more options, like installing a specific version or uninstalling, see
the [Installation Guide](https://termix.pages.dev/guide/installation.html)._
### Alternative: .NET Global Tool
This method is for users who prefer to manage Termix through the `dotnet` tool ecosystem.
#### Requirements
- **Termix v3.0.0 and newer**: Requires the **.NET 10 SDK** or later.
- **Termix v2.x.x (e.g., v2.6.0)**: Requires the **.NET 9 SDK**.
#### Commands
To install the latest version (requires .NET 10 SDK):
```bash
dotnet tool install --global termix
```
To install a specific older version compatible with the .NET 9 SDK:
```bash
dotnet tool install --global termix --version 2.6.0
```
## Core Commands
Termix uses Vim-style, case-sensitive keybindings. **Press `?` in the app for a full, scrollable list.**
| Key(s) | Action |
|:------------------|:------------------------------------------------|
| `↑` / `k` | Move selection up |
| `↓` / `j` | Move selection down |
| `h` / `Backspace` | Navigate to parent directory |
| `l` / `Enter` | Open file or enter directory |
| `gg` / `G` | Jump to top / bottom of list |
| `s` | Start real-time recursive search |
| `O` | Open in external editors/apps |
| `v` | Enter/Exit **Visual Mode** for multi-select |
| `m` | **Mark (Add)** a new bookmark |
| `b` | Open the **Bookmark** menu |
| `y` | **Yank** (copy) selected item(s) to clipboard |
| `Y` | **Yank Path** to system clipboard |
| `x` | **Cut** (move) selected item(s) to clipboard |
| `p` | **Paste** from clipboard |
| `d` | **Delete** selected item(s) (with confirmation) |
| `a` | **Add** a new file or directory |
| `r` | **Rename** selected item |
| `t` | Open the interactive **sort** menu |
| `?` | **Show/Hide the Help Screen** |
| `q` | **Quit** Termix |
## Documentation
For a complete guide on workflows, features, and advanced usage, please visit the *
*[official documentation site](https://termix.pages.dev)**.
## Contributing
Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, please feel free to get
involved.
- **Report a Bug or Request a Feature**: Please open an issue on
the [GitHub Issues page](https://github.com/amrohan/termix/issues).
- **Contribute Code**: Fork the repository and submit a pull request. Please see
our [CONTRIBUTING.md](https://github.com/amrohan/termix/blob/main/CONTRIBUTING.md) file for development setup and
guidelines.
## Acknowledgements
- This project is made possible by the fantastic [Spectre.Console](https://spectreconsole.net/) library.
- File previews are enhanced by [ImageSharp](https://github.com/SixLabors/ImageSharp)
and [SharpCompress](https://github.com/adamhathcock/sharpcompress).
- Icons are provided by the [Nerd Fonts](https://www.nerdfonts.com/) project.
## License
Termix is licensed under the [MIT License](./LICENSE.txt).