High-performance text editors built with Rust that feature modal editing workflows for efficient code manipulation.
Vim is a keyboard-driven text editor designed for the high-speed manipulation of source code and plain text files. It utilizes a modal interface that interprets keystrokes as either text insertion or complex navigation and editing commands. Built on a portable C core, the software maintains a consistent experience across diverse operating systems and terminal emulators through an abstraction layer that manages text in memory-mapped buffers. The editor functions as a highly modular platform that supports extensive customization through a built-in scripting engine and a plugin-based architecture. Users can define custom functions, automate repetitive tasks, and dynamically load syntax definitions to adapt the environment to specific programming requirements. This extensibility is supported by a global community that shares scripts, workflows, and productivity tips, allowing for a deeply personalized editing experience. Beyond its core editing capabilities, the project includes features such as regex-driven syntax highlighting, multi-level undo, and integrated spell checking. The software is available as both a terminal-based application and a native graphical interface, with support for installation across Unix-like systems, macOS, and Windows. Comprehensive documentation and interactive tutorials are accessible directly within the interface to assist users in mastering its command-based workflow.
Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a selection-first editing model, where operations are performed on active ranges rather than individual cursor positions, allowing for precise control over text and code structures. The editor distinguishes itself through deep integration with structural parsing and language intelligence. By utilizing an incremental parsing library, it builds concrete syntax trees that enable advanced features like structural code navigation, intelligent indentation, and syntax-aware text object selection. It also features a built-in client for the Language Server Protocol, providing real-time diagnostics, completion, and code analysis directly within the terminal interface. Beyond its core editing capabilities, the project offers a highly customizable environment. Users can define complex keybindings, manage multiple cursors for simultaneous edits, and apply declarative styling rules to customize the visual appearance of the interface. The editor also includes robust support for file discovery, buffer management, and interactive fuzzy-matched picking for symbols and commands. The editor includes a built-in diagnostic utility to verify the runtime environment and dependency configuration during setup.
MacVim is a native graphical interface for the Vim text editor tailored for the macOS desktop environment. It is a modal, keyboard-driven editor that wraps a command-line core within a native Cocoa-based GUI wrapper, providing system menus, toolbars, and scroll bars. The editor is highly scriptable, utilizing a built-in scripting language and external interpreters for Python, Ruby, and Perl to automate complex text workflows. It further extends functionality by connecting to third-party applications through asynchronous jobs and communication channels. The project includes capabilities for source code analysis through regex-based syntax highlighting and orthographic spell checking. It integrates native macOS system services, such as dictionary lookups, and supports advanced typography rendering with font ligatures. The software is distributed as a universal binary compiled to run natively across multiple CPU architectures on macOS.
Oni is a modal code editor and integrated development environment that uses Neovim as its core editing engine. It combines the text manipulation and modal interaction model of Neovim with the capabilities of a full IDE, including a Language Server Protocol implementation for code intelligence, automatic completion, and error highlighting. The editor is distinguished by its integrated web rendering, allowing users to view documentation, browse the web, and render live previews of code and unit tests directly within the interface. It also utilizes TextMate grammars for syntax highlighting. The workspace includes tools for project file exploration, fuzzy symbol and file finding, and tabbed file management. Version control is handled through specialized buffer layers for diffing and merging, while a standardized debug protocol enables application code execution and inspection. The environment is customizable through themes, keybindings, and a plugin system that supports external extensions and standard Vim configuration files.
Monaco Editor is a web-based text editing component designed to provide advanced syntax highlighting, code completion, and language intelligence within browser environments. It functions as a reusable interface element that enables developers to integrate professional-grade coding experiences into web applications. The editor distinguishes itself through a native client for the Language Server Protocol, which connects the interface to external analysis tools for deep diagnostics and refactoring capabilities. It utilizes a memory-efficient, declarative text buffer to manage large documents and supports complex workflows such as rich text diffing for version control. To maintain responsiveness during intensive tasks, the system offloads lexical analysis to background worker threads and employs an incremental tokenization engine that re-evaluates only modified document segments. The architecture relies on a decoupled rendering model and a centralized action registry to manage user inputs and visual overlays independently of the core text state. This structure allows for extensive customization, including the implementation of domain-specific language definitions and specialized visual styling.
Oni2 is a high-performance, extensible text editor and project-based file manager. It functions as a modal code editor, utilizing a keyboard grammar of verbs and motions to navigate and modify source code without a mouse. It also serves as an LSP client, integrating Language Server Protocol servers to provide code completion, symbol navigation, and refactoring. The editor distinguishes itself by acting as a VSCode extension host, allowing it to load and execute language servers and debuggers from the VSCode ecosystem. It provides a programmable environment where custom functionality is implemented via a dedicated host and communication protocol for third-party plugins. The platform covers a broad range of development capabilities, including global project search with regular expression support, version control integration, and a system for managing multiple file buffers. It includes built-in language support, a project explorer for directory browsing, and a customizable interface with support for visual themes and per-filetype settings.
Micro is a terminal-based text editor designed for use within command-line interfaces. It provides a keyboard-centric environment for creating and modifying source code and configuration files without requiring a graphical desktop system. The editor features a modular architecture centered on a plugin-driven system and an embedded scripting engine. Users can extend core functionality, automate workflows, and customize editor behavior by writing scripts or installing external extensions through a centralized package management system. This extensibility allows for the integration of custom commands and behaviors tailored to specific project requirements. The application supports multi-cursor editing, enabling simultaneous text manipulation across multiple document locations to accelerate repetitive tasks. It also includes syntax-aware tokenization for real-time visual styling and provides an integrated terminal workflow that allows users to run shell sessions and command-line tools within split-pane views. The software is distributed as a static, self-contained binary, ensuring portability and consistent performance across different operating systems without the need for external dependencies.
This project is a modal editing integration that embeds a full Neovim instance into Visual Studio Code. It functions as a modal text editor, providing native motions and keybindings for navigation and text manipulation through a buffer synchronization bridge. The integration features a Lua scripting interface for automating editor behavior and a coordination layer that maps Neovim motions to native Language Server Protocol actions for code navigation. It ensures consistency between the two environments using a shared clipboard provider and synchronized cursor and selection states. The system covers a broad range of capabilities, including keyboard-centric navigation for file explorers and window layouts, multi-cursor control, and the rendering of virtual decorations and syntax highlights. It also includes an integrated command line with native completions and history, as well as tools for managing editor layouts and switching between open files. The editing engine can be configured to run on either a local host or within a remote extension host.
Ink is a declarative framework for building interactive command-line applications using a component-based architecture. It functions as a console renderer that maps component trees to terminal output buffers, allowing developers to manage stateful interfaces through standard component reconciliation. By translating high-level layout and style properties into terminal control codes, it enables the creation of responsive, dynamic interfaces within the console. The framework distinguishes itself by integrating a cross-platform layout engine that applies a flexible box model to the character-based grid, facilitating complex visual structures. It provides a low-level abstraction layer for raw input stream interception, which allows for granular handling of keystrokes and control sequences. This combination of a virtual terminal buffer and direct stream management ensures consistent behavior and visual presentation across different operating systems and terminal environments. Beyond its core rendering capabilities, the project supports a wide range of interface features including text styling, input handling, and lifecycle management. It includes mechanisms for capturing pasted content and notifying assistive technologies of screen updates to support accessibility. The framework manages the entire application lifecycle, ensuring that render output is fully flushed to the terminal during process exits.
This project is a collection of environment configuration files, known as dotfiles, designed to standardize a development setup. It provides specific configuration sets for the Neovim modal editor, a tiling window manager, the Tmux terminal multiplexer, and the Zsh shell. The repository includes a curated Unix command line toolset featuring modern utility alternatives and fuzzy finding tools for file navigation. It also contains a suite of settings for managing terminal sessions, window layouts, and custom keybindings to streamline development workflows. The configuration surface covers visual customization through ANSI color schemes and terminal appearance settings, as well as system-level automation for window tiling, workspace organization, and system menu bar widgets. Editor extensibility is handled through plugin management and language server integration.
This project is a shell plugin that provides real-time command suggestions to accelerate terminal input. By hooking into the command line editor and utilizing a strategy-based prediction engine, it generates completions derived from command history, shell completion data, or custom user-defined sources. The tool distinguishes itself by rendering suggestions as a visual ghost layer directly within the terminal buffer using ANSI-styled overlays. To maintain a responsive command-line environment, it performs all prediction calculations in the background, ensuring that heavy computation does not block user input. Users can customize the experience through extensive configuration options, including the ability to map specific keyboard shortcuts for accepting or navigating suggestions. The engine also supports fine-grained control over the prediction process, allowing for the filtering of history or completion results and the adjustment of performance parameters based on input length. Comprehensive documentation is available to guide users through the installation, configuration, and maintenance of the plugin.
Vim-galore is a comprehensive technical reference and curated guide for mastering the Vim text editor. It serves as a central resource for users seeking to understand the philosophy, command structure, and advanced customization capabilities required to operate professional-grade modal text editors effectively. The project distinguishes itself by providing a deep dive into efficient editing workflows, plugin management, and automation strategies within a terminal-based environment. It covers the full spectrum of editor mastery, from fundamental modal navigation and text manipulation to complex configuration techniques that transform the editor into a tailored development workspace. The documentation encompasses a wide range of capabilities, including advanced text processing through macros and registers, project navigation, and the integration of external tools and language intelligence. It also details methods for managing editor sessions, version control, and event-driven automation to streamline development tasks.
Quill is a modular, web-based rich text editor designed for structured content authoring. It provides a comprehensive toolkit for building tailored editing experiences, allowing developers to manage document state, handle user input, and synchronize content through a predictable, serializable data model. The editor distinguishes itself through a custom document abstraction that maps the browser DOM to a structured tree of nodes, ensuring consistent behavior across different environments. It utilizes an operational change tracking system that represents all document modifications as a sequence of insert, delete, and retain operations. This architecture is supported by a registry-driven framework that allows for the extension of document formats, styling rules, and media types, providing granular control over how content is represented and rendered. The system features an event-driven module architecture, enabling developers to extend functionality through independent units that listen to the editor lifecycle. This includes robust support for custom keyboard bindings, contextual input handling, and content normalization for pasted HTML. The editor also provides extensive configuration options for visual themes, toolbar controls, and history management, allowing for deep integration into professional content creation applications.
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. The system includes a unified command language for both interactive use and automation, supported by event hooks, macro recording, and a hierarchical configuration system. It further provides regex-based syntax highlighting, a flexible key mapping system with custom modal namespaces, and various buffer management primitives including atomic writing and asynchronous output handling.
This project is an interactive command-line shell designed to provide a user-friendly terminal environment for system interaction and task automation. It functions as both an interactive interface for developers and a scripting runtime, featuring a clean, consistent syntax that simplifies command execution and process management. The shell distinguishes itself through a focus on discoverability and real-time feedback. It includes a predictive suggestion engine that offers command completions and history-based hints as you type, alongside a dedicated parser that provides immediate visual feedback on syntax validity. To ensure data integrity, it utilizes a native list-based variable architecture that prevents common issues with word splitting, and it maintains a universal variable manager to synchronize settings across all active and future shell instances. Beyond its core interactive capabilities, the shell supports a comprehensive suite of productivity tools, including customizable prompts, advanced line editing, and an event-driven hook system for responding to lifecycle changes. It manages configuration through both terminal-based commands and a graphical interface, while optimizing performance through lazy function autoloading and efficient command history navigation. The shell provides extensive support for scripting, including built-in tools for string manipulation, conditional logic, and data stream redirection. It is designed to be ready for use with default completion support and terminal compatibility features, such as true color rendering, enabled out of the box.
Lapce is a high-performance text editor built with Rust that utilizes hardware acceleration for fast rendering and responsiveness. It functions as a modal text editor with Vim-style keybindings to minimize hand movement, an LSP client for language intelligence, and a remote development environment for editing files and executing code on distant servers. The editor features an extensible architecture based on the WebAssembly System Interface, allowing it to execute plugins compiled to WASI for cross-language functionality. It further distinguishes itself by implementing the Debug Adapter Protocol to provide a standardized interface for inspecting program execution via external debuggers. The toolset includes capabilities for semantic code analysis, source code navigation, and version control integration with visual diff comparisons. It also provides a multi-tabbed integrated terminal for system process management and a project file explorer for browsing directory structures.
This framework provides a functional architecture for building interactive command-line applications. It utilizes a reactive runtime engine that synchronizes application state, user input, and visual output through a central event-driven message loop. By employing a unidirectional data flow pattern, the framework separates the definition of application state from the logic that processes updates and the declarative rendering process that transforms state into terminal-ready output. The framework distinguishes itself through its approach to side-effect management and terminal environment adaptation. It encapsulates asynchronous tasks as discrete commands that execute outside the main loop, allowing for non-blocking orchestration of background operations like network requests or file system access. To ensure consistent behavior across diverse environments, it includes a normalization layer that queries terminal capabilities, monitors window dimensions for responsive layouts, and handles complex input streams including mouse and keyboard events. Beyond its core runtime, the framework supports a broad range of operational requirements, including timed event scheduling, command batching, and persistent output rendering for status updates. It offers flexible initialization through functional configuration patterns and provides diagnostic utilities such as file-based logging to assist in debugging interfaces that occupy the standard output stream.
OpenInTerminal is a system interface extension for macOS that provides a custom Finder context menu, toolbar extensions, and clipboard utilities. It functions as a terminal emulator launcher and a shell path utility, allowing users to interact with the macOS file system through external applications. The project enables the launch of terminals and text editors directly from the file manager. It includes a shell path utility to copy escaped file paths to the clipboard and supports the configuration of specific terminal emulators and code editors. The software covers workflow automation through custom keyboard shortcuts and context menu customization. It manages application preferences and default tool configurations to determine how directories and files are opened.
Ghostty is a cross-platform terminal emulator that utilizes GPU-accelerated rendering to provide high-performance text output and low-latency input. It functions as a unified terminal environment, maintaining consistent feature parity and configuration across different operating systems through a specialized windowing abstraction layer. The application is built on a declarative configuration engine that allows users to manage settings, keybindings, and visual themes using modular, plain-text files. It supports dynamic hot-reloading, enabling users to apply configuration changes in real-time without interrupting active sessions. The emulator also features system-aware theme synchronization, which automatically transitions between light and dark color palettes based on operating system preferences. Beyond its core rendering capabilities, the project provides a foundation for interactive command-line tools by implementing standard terminal control sequences and parsing ANSI escape codes. This ensures compatibility with existing terminal-aware software and allows for consistent visual output across diverse development environments. Users can access comprehensive configuration documentation directly from the command line to manage their setup without requiring an external connection.
notepad-- is a cross-platform plain text editor designed for creating and modifying unstructured text files. It functions as a lightweight productivity tool that allows users to write and save documents across Windows, Linux, and macOS. The application utilizes a buffer-based editing model to decouple file storage from the visual display. This approach enables a consistent user interface for local file management and plain text document creation regardless of the underlying operating system.