Termix 1.8.0

dotnet tool install --global Termix --version 1.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Termix --version 1.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Termix&version=1.8.0
                    
nuke :add-package Termix --version 1.8.0
                    

<div align="center">

⚡️ Termix

A modern, high-performance file navigator for your terminal

License: MIT NuGet Version NuGet Downloads .NET GitHub release GitHub issues GitHub stars

Built with .NET 9 and Spectre.Console, Termix delivers a fluid, visually rich, flicker-free interface for navigating, searching, and managing files—all from your terminal.

Documentation

</div>


Demo

https://github.com/user-attachments/assets/c7b47493-ed6b-4b29-b334-f11f65d2dd18

Watch the full walkthroughTermix on Vimeo (1 minute)

Features

  • Instant Recursive Filtering: Start typing to filter files and directories in real-time
  • Intuitive File Operations: Create, rename, move, copy, and delete files and directories with visual progress tracking
  • Smart Ignoring: Respects .gitignore and automatically filters out common build directories
  • Flicker-Free UI: Double-buffered interface ensures smooth rendering in a two-pane layout
  • Live Syntax Highlighting: Preview various file types with syntax highlighting (.cs, .js, .ts, .py, and more)
  • Vim-Style Navigation: Use J/K alongside arrow keys for efficient movement
  • Nerd Font Support: Enhanced experience with icon support, with ASCII fallback for maximum compatibility
  • Cross-Platform: Works seamlessly on Windows, macOS, and Linux

Installation

Option 1: Install via Script (All Platforms)

Prerequisites

Before using the script-based installers, make sure you have:

  • macOS / Linux:
    • curl
    • unzip (or tar for .tar.gz archives)
    • jq
  • Windows:
    • PowerShell 5.1 or later (PowerShell Core 7+ recommended)
macOS / Linux

You can install or update Termix directly via our official installer:

# Install or update to latest
curl -fsSL https://raw.githubusercontent.com/amrohan/termix/main/install.sh | bash

# Install specific version
curl -fsSL https://raw.githubusercontent.com/amrohan/termix/main/install.sh | bash -s v1.5.0

# Uninstall
curl -fsSL https://raw.githubusercontent.com/amrohan/termix/main/install.sh | bash -s uninstall
Windows (PowerShell)

Open PowerShell and run:

# Install or update to latest
iex (iwr "https://raw.githubusercontent.com/amrohan/termix/main/install.ps1")

# Install specific version
iex (iwr "https://raw.githubusercontent.com/amrohan/termix/main/install.ps1") -Tag v1.5.0

# Uninstall
iex (iwr "https://raw.githubusercontent.com/amrohan/termix/main/install.ps1") -Uninstall

Option 2: Install as a .NET Global Tool (All Platforms)

  • .NET 9 SDK or later installed on your system
dotnet tool install --global termix

Launch the application by running:

termix

Updating Termix

dotnet tool update --global termix

Uninstalling Termix

dotnet tool uninstall --global termix

Option 3: Install from Source

# Clone the repository
git clone https://github.com/amrohan/termix.git
cd termix

# Build and install locally
dotnet pack
dotnet tool install --global --add-source ./nupkg termix

Keyboard Shortcuts

Keys Action
↑ / ↓ Move selection up/down
J / K Vim-style movement
Enter / L Open file or enter directory
Backspace / H Go to parent directory
Home / End Jump to first or last entry
Q Quit Termix

File Operations

Keys Action
S Enter search mode (filters recursively as you type)
Esc (during search) Apply the filter and navigate the results
Esc (after search) Clear the filter and show all items
B Go back to the search results when navigating
A Create a new file or folder
R Rename the selected file or folder
D Delete the selected item (with confirmation)
X Move the selected file or folder
C Copy the selected file or folder
P Paste the file or folder
t Open the interactive sort menu

Preview Pane

Keys Action
Alt + ↑ / ↓ Scroll vertically
Alt + ← / → Scroll horizontally

Documentation

You can find the detail documentation here

Configuration

Termix works out of the box with sensible defaults. Future versions will support custom configuration options.

Supported File Types

Termix provides rich previews and syntax highlighting for many common file types:

  • Code: .cs, .js, .ts, .py and more
  • Images: Preview support for .png, .jpg, .jpeg, (terminal-compatible rendering)
  • Configuration: .yaml, .yml, .toml, .ini, .conf, .config

Project Status

Termix is actively maintained and continuously improved. Check the GitHub releases page for the latest updates and features.

Contributing

Contributions are always welcome! Whether it's bug reports, feature requests, or code contributions, please feel free to get involved.

  1. Fork the repository on GitHub
  2. Clone the forked repository to your machine
  3. Create a branch for your feature or bug fix
  4. Make your changes and commit them with descriptive messages
  5. Push your changes back to your fork
  6. Submit a Pull Request to the main repository

Please visit the Issues page to report bugs or suggest features.

Development Setup

If you'd like to contribute to the development of Termix:

  1. Ensure you have the .NET 9 SDK installed
  2. Clone the repository and open it in your preferred editor (Visual Studio, VS Code, Rider)
  3. Run dotnet restore to install dependencies
  4. Run dotnet build to build the project
  5. Run dotnet run to test your changes locally

Key Components

  • Services/ActionService.cs: Logic for creating, renaming, deleting, and searching
  • Services/IgnoreService.cs: Handles .gitignore and default ignore rules
  • Services/IconProvider.cs: Manages file type icon mappings
  • Services/CustomSyntaxHighlighter.cs: Add new language themes here
  • UI/FileManagerRenderer.cs: Contains the logic for styling and rendering panes
  • UI/CustomProgressBar.cs: Progress visualization for long-running operations

Coding Guidelines

  • Follow existing code style and patterns
  • Use meaningful variable and method names
  • Write tests for new features when applicable
  • Update documentation to reflect your changes
  • Branch from main and use descriptive commit messages

Acknowledgements

  • This project is made possible by the fantastic Spectre.Console library
  • Glob-style ignore matching is handled by DotNet.Glob
  • Image handling is provided by SixLabors.ImageSharp
  • Icons are powered by the Nerd Fonts project
  • Inspired by the simplicity and elegance of .NET Global Tools

License

Termix is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.8.0 10 8/18/2025
1.7.0 11 8/17/2025
1.6.0 44 8/15/2025
1.5.0 78 8/9/2025
1.4.0 123 8/8/2025
1.3.0 178 8/5/2025
1.2.0 142 8/4/2025
1.1.0 57 8/3/2025
1.0.0 16 8/2/2025
0.9.0 52 8/1/2025
0.1.0 102 7/30/2025
0.0.9 99 7/30/2025
0.0.8 102 7/29/2025
0.0.6 93 7/29/2025
0.0.5 91 7/29/2025