30 open-source projects similar to mawww/kakoune, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
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 implem
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 comple
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
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 Proto
This project is a Vim keybinding emulation for Visual Studio Code. It implements modal text editing to separate navigation and content creation through specialized modes, reducing reliance on the mouse. The emulator supports custom IDE workflows by importing standard configuration files and remapping keyboard shortcuts. It integrates with external processes to handle complex commands and reproduces logic from common plugins for surrounding characters, commenting, and rapid motion. The capability surface includes keyboard-driven navigation using text objects, markers, and character sequences.
This repository contains a collection of extensions and configurations for a text editor plugin ecosystem. It provides a framework for adding language support and custom behavior through a system of customizable key bindings, a project indexing engine, and a syntax highlighting framework. The project utilizes a Python API to enable the development of custom plugins, menus, and tools. It supports a functional extension framework where users can create custom themes, syntax definitions, and resource overrides to expand the editor's visual styles and capabilities. The system covers advanced tex
CodeMirror 5 is a browser-based code editor and extensible UI component. It functions as a syntax highlighting engine and a programmable text surface, providing a professional coding experience embedded within web pages. The project is distinguished by its ability to act as a collaborative text editor, synchronizing document changes across multiple users in real time. It also includes a dedicated Vim emulation layer that implements modal keyboard interactions, motions, and operators. The system covers broad capability areas including language support for autocompletion and error analysis, co
MacVim is a native Cocoa application that implements the Vim modal text editor as a graphical user interface on macOS. It integrates the editor engine directly into a native window and event loop, allowing it to operate without a terminal emulator. The project functions as both a programming text editor and a hexadecimal binary editor. It provides tools for modifying raw binary data via a visual hexadecimal grid and applying patches to binary files. The editor features modal input handling, pattern-based syntax highlighting, and rectangular block selection. Additional capabilities include mu
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
Cash is a JavaScript implementation of Unix shell utilities and command-line interfaces. It provides a collection of standard system-level text processing and file manipulation tools written in ES6 that run without native compilation or external dependencies. The project allows for the programmatic execution of shell operations using function calls and tagged templates. It implements a system for chaining multiple commands together to filter and transform data through programmatic pipelines, mimicking standard shell pipe behavior. These capabilities enable the execution of Unix-style command
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 s
Spacemacs is a community-driven configuration for Emacs that integrates modal text editing and a modular system for managing editor features. It implements distinct states for navigation and insertion to separate text manipulation from text entry, combining the efficiency of modal navigation with the extensibility of the Emacs environment. The project distinguishes itself through a layer-based feature composition system, which groups related third-party packages and configurations into modular units. This system includes dependency-based resolution to manage conflicting extensions and a mnemo
Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic
This project is a terminal-based text editor and local file manipulation utility designed for modifying documents directly within a command-line environment. It functions as a text processing tool that enables users to perform file updates and content adjustments without requiring a graphical user interface. The editor provides a terminal-based user interface framework that renders interactive components through low-level character stream manipulation. It supports automated text processing by utilizing regular expression-based pattern matching to locate and replace character sequences across
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
TextMate is a programmable text editor designed for software development and project management. It functions as a highly customizable environment where users can define language-specific behaviors, syntax highlighting rules, and automated workflows to suit their individual development needs. The editor distinguishes itself through a modular, bundle-based extensibility model that allows for deep integration with system shell commands. By piping document buffers through external scripts and command-line tools, users can perform complex text transformations, automate file lifecycle tasks, and b
Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a real-time synchronized preview pane. It functions as a rich text interface and WYSIWYG tool, providing a system for transforming markup strings into HTML documents or portable formats. The project distinguishes itself through high-performance rendering and a flexible extensibility model. It uses virtual DOM diffing and partial rendering to maintain responsiveness in large documents, and it allows for the creation of custom parsing rules and specialized HTML components via a p
lnav is a terminal-based log viewer and analyzer designed for aggregating, filtering, and analyzing multiple log files in a single chronological view. It functions as a console application that can replace the system pager, providing syntax highlighting and document navigation for system or application logs. The project distinguishes itself by mapping unstructured log data to virtual SQLite tables, enabling the use of SQL and PRQL for structured data analysis, aggregations, and relational queries. It further differentiates its capability set through native integration for retrieving and taili
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
vim.js is a professional modal text editor implementation designed for integration into web browsers and JavaScript-based applications. It emulates a Vim environment by providing modal editing workflows, keyboard shortcuts, and a state-machine-based input handler to toggle between command and insertion modes. The project enables the embedding of a full-featured text editor into host applications. It facilitates browser-based development by replicating the logic and memory management of a native text editor using JavaScript objects and functions. The editor includes capabilities for syntax hi
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 architectur
This repository contains the comprehensive documentation for a code editor focused on AI-assisted software development and remote development workflows. It covers the implementation of AI agents and language models used for autonomous code generation, large-scale refactoring, and task iteration. The project is distinguished by its deep integration of autonomous AI agents capable of web navigation, application logic validation, and orchestrating multi-step development processes. It provides specialized frameworks for tailoring AI behavior through custom instructions, model context protocols, a
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
This is a Vim plugin that adds simultaneous multi-selection and parallel editing capabilities to the editor. It functions as a multi-cursor tool and regex-based batch editor, allowing users to perform the same editing action across multiple locations in a buffer at once. The extension enables the placement of virtual cursors across a document using regular expressions or by identifying all occurrences of a word. It also allows for the generation of cursors on every line within a visual selection to facilitate multi-line block editing. The tool supports synchronized character insertion and pa
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
vim-visual-multi is a Vim and Neovim plugin that provides multi-cursor text editing. It functions as a multi-cursor text editor and macro orchestrator, allowing for parallel insertions, deletions, and replacements across diverse text occurrences. The plugin includes a regex text selection tool used to spawn multiple cursors based on regular expression patterns. This enables the identification of matching words or fragments to perform batch modifications across a file. The system covers several capability areas, including the vertical alignment and synchronization of cursors to a common colum