30 open-source projects similar to microsoft/edit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Edit alternative.
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Mosaic is a declarative terminal user interface framework and display engine. It provides a toolkit for building interactive command-line applications by synchronizing a data model with the terminal screen to minimize manual redraws. The library functions as a layout engine for designing structured visual interfaces and real-time displays. It enables the development of interactive console programs, such as system monitors and games, by managing responsive user input and dynamic output updates.
x-cmd is an AI agent orchestrator, cloud infrastructure CLI, and cross-platform package manager that provides an enhanced POSIX shell toolkit. It integrates large language models directly into the terminal for chatting, code generation, and the execution of agentic workflows, while offering a framework for building interactive terminal user interface components. The project distinguishes itself by deploying containerized AI agents within isolated sandboxes, provisioning them with specialized skills and headless browser automation capabilities. It further streamlines development through a unif
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Amp is a modal text editor for the command line. It provides a terminal-based interface for editing text and developing software, utilizing a modal interaction model that separates text entry from navigation and command execution. The editor integrates Git version control to record code changes directly within the interface. It also functions as a navigation tool, featuring a fuzzy file finder for approximate string matching and a symbol navigation tool for jumping to specific definitions and declarations within local source files. The system includes rule-based syntax highlighting to distin
Micro is an extensible terminal text editor that supports mouse interaction and intuitive keyboard shortcuts for editing files in a command line environment. It functions as a multi-cursor editor with syntax highlighting and a plugin system for adding custom functionality and automation scripts. The editor distinguishes itself through simultaneous editing across multiple cursors and a script-based extension system. It enables the automation of repetitive editing tasks via macro recording and playback of keystroke sequences. The project covers workspace management through split-screen panes a
Kilo is a small-scale text editor implemented in C to demonstrate low-level systems programming. It provides a command line interface for modifying and saving text files directly within a terminal. The editor includes built-in string search and navigation capabilities to locate text within a file. It also applies colors to source code based on language patterns to provide syntax highlighting.
Vis is a terminal-based modal text editor that utilizes vi keybindings and a system of structural regular expressions. It functions as a scriptable environment where Lua is used for configuration, custom key mappings, and plugin development. The editor distinguishes itself through a syntax highlighting system based on Parsing Expression Grammars and a pattern matching engine that treats text as a structure for complex search and replace operations. It also integrates directly with the system shell, allowing users to pipe text ranges to external commands and capture the resulting output. The
Slap is a terminal-based text editor designed to mimic the user experience and interface of a graphical code editor within a command-line environment. It functions as both a text editor and a text-user interface file manager, providing a navigable sidebar for organizing and switching between files and directories. The editor is built for extensibility through a plugin system that allows the loading of external scripts and packages to add new features and core functionality. Users can customize the editor workflow by remapping keyboard shortcuts, adjusting performance parameters, and modifying
This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int
sd is a command line text manipulation utility designed for searching and replacing text patterns across multiple files. It functions as a regex-based find and replace tool that allows for in-place file editing directly from the terminal. The project supports both regular expression replacements, including the use of capture groups for complex transformations, and fixed string replacement for literal text substitutions. It specifically handles multi-line text replacement by processing file contents as single blocks to match patterns that span across newline characters. The tool provides capa
This project is a framework for building stateful, component-driven terminal user interfaces in Rust. It provides a structured architecture for managing complex command line applications by decoupling rendering logic from application state through a centralized message-passing system. By utilizing a component-based model, it enables developers to construct interactive interfaces that handle event routing, focus management, and lifecycle orchestration in a predictable manner. The framework distinguishes itself through its focus on modularity and developer productivity. It employs trait-based c
Asciimatics is a cross-platform terminal user interface framework and console wrapper. It functions as a curses-compatible library providing a toolkit for building interactive text-based applications, an ASCII art generator, and a terminal animation engine. The project distinguishes itself through a visual effects engine capable of rendering sprites, particle systems, and anti-aliased lines. It includes specialized systems for creating moving text-based graphics and tools for converting image files into character-based representations. The framework covers core terminal management including
gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend
Ratatui is a terminal rendering engine and library for the Rust language used to build interactive text-based user interfaces. It provides a framework for creating command-line dashboards and visual applications by rendering widgets and layouts directly to a terminal screen. The project utilizes a backend-agnostic interface to decouple UI logic from terminal drivers and employs a constraint-based layout engine to divide screen space into nested rectangular areas. It manages rendering through an immediate-mode drawing loop and a buffer-based system to minimize screen flicker. The library supp
Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
Warp is an AI-integrated terminal emulator designed to automate software development workflows directly within the command-line interface. It functions as an enterprise-grade orchestration platform that coordinates multiple artificial intelligence models and coding agents to assist with building, reviewing, and shipping code. By embedding these capabilities into the shell, the environment allows developers to prompt, plan, and refine software projects without leaving their terminal session. The platform distinguishes itself through a centralized control plane that manages, secures, and scales
This project serves as a comprehensive reference and toolkit for Linux command-line operations. It provides a structured collection of Bash commands and terminal utilities designed to assist with system administration, file management, and process control within POSIX-compliant environments. The resource functions as a guide for mastering terminal productivity and shell scripting. It covers essential workflows including efficient filesystem navigation, command history management, and the application of shell operators for task automation. Users can utilize these materials to refine their inte
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
MiaoYan is a local Markdown editor and personal knowledge management tool. It functions as a system for writing and organizing documents stored as local files, supporting the creation of a connected information network through bidirectional links and backlinks. The project includes a specialized tool for converting Markdown documents into slide-based presentations by using specific content separators. It also provides a command-line interface for managing files, allowing users to create, search, and open documents without a graphical file explorer. The editor features a side-by-side live pre
Superfile is a keyboard-driven file manager designed for terminal environments. It provides a workspace for browsing, organizing, and manipulating local file systems through a multi-pane interface that supports standard file operations, directory navigation, and real-time fuzzy search. The application distinguishes itself through a modular architecture that allows for extensive customization of the user interface, including themes, icon sets, and layout dimensions. Users can define custom keyboard shortcuts, map file extensions to specific applications, and integrate external tools or scripts
Dunst is a lightweight notification daemon for Linux desktop environments that receives and displays system alerts via the DBus protocol. It functions as a configurable alert service and notification manager, rendering pop-up messages for X11 and Wayland. The project distinguishes itself through a pattern-based rule engine that allows for dynamic alert filtering and conditional modifications of visual styles or behavioral settings based on the sending application or category. It also supports notification workflow automation by triggering external scripts and system commands when specific not
Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil
Slides is a command-line utility that renders markdown files into interactive presentations displayed directly within a terminal environment. It functions as a terminal user interface, providing a system for navigating content through keyboard-driven controls and managing slide transitions. The tool incorporates a presentation theme engine that allows for the definition and application of custom visual styles and color schemes. By using structured metadata embedded within the markdown source, users can maintain consistent branding and layout properties across their slide decks. This utility
Monkeytype is a browser-based typing trainer that captures keystrokes through low-level events to provide real-time feedback on speed and accuracy. The application maintains user progress and state entirely within browser memory, ensuring instantaneous interaction during typing sessions. The platform distinguishes itself through a comprehensive analytics and community system. Users can track their historical performance and typing metrics through detailed profiles, while a global leaderboard system allows for the comparison of experience levels and rankings against the broader community. The
This project is a modular, terminal-based dashboard framework designed to aggregate and display real-time information within a grid-aligned interface. It functions as a centralized monitoring tool that translates data from local system resources, infrastructure services, and external web APIs into a unified, text-based display. The dashboard is distinguished by its plugin-based architecture, which allows users to encapsulate distinct data sources and display logic into isolated, independently managed modules. Users define their workspace through declarative configuration files or an interacti
This project is an educational resource designed to teach low-level software development through the incremental construction of a functional terminal-based text editor. It provides a step-by-step curriculum that guides users through the process of building an interactive application from scratch using C and standard terminal input handling. The tutorial distinguishes itself by utilizing an incremental implementation pattern, where each functional milestone builds upon previous code to ensure a manageable learning curve. To support this process, the project includes a command-line utility tha