30 open-source projects similar to martanne/vis, 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.
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.
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
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
Notepad3 is a lightweight Windows text editor designed as a replacement for the default system notepad. It is built on the Scintilla text engine to provide source code editing capabilities, including syntax highlighting, code folding, and automatic indentation. The editor is distinguished by its support for registry-free portable execution, allowing the application to run from removable storage without system installation. It features integrated file encryption and decryption tools for secure document management and a regular expression engine for complex search and replace operations across
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
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
zsh-vi-mode is a modal command line editor and Zsh shell extension that provides Vi and Vim keybindings for terminal navigation and text manipulation. It functions as a plugin that implements a modal state machine to switch between command navigation and text insertion. The extension includes advanced text editing capabilities such as keyword cycling for values, surround management for quotes and brackets, and the ability to hand off the command line buffer to an external text editor for complex modifications. It also provides system integration for synchronizing the shell clipboard with the
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
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
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
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
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
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
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
Vim-quickui is a text user interface library and plugin for Vim and Neovim editors that renders interactive widgets directly inside terminal environments without external dependencies. The framework provides buffer-independent UI drawing, popup window layering, state-driven event handling, and data-driven dialog generation that constructs modal forms and input controls from declarative data structures. The extension covers a broad suite of interface components including dropdown menu bars, context menus, scrollable list boxes, confirmation dialogs, and string input prompts. Users can inspect
Lite is a scriptable plain text editor and programmable editing environment written in Lua. It provides a minimalist interface for opening, modifying, and saving plain text documents. The editor is designed for extensibility, allowing users to define custom commands and behaviors through external Lua script modules. It supports a plugin system where new features are integrated by placing modules in designated directories for automatic loading at startup. The project covers a range of customization capabilities, including personalized keyboard shortcut mapping and visual theme overrides for c
Lite XL is a lightweight, cross-platform text editor built around a minimal C core that embeds a Lua interpreter, allowing the entire editor interface and functionality to be scripted and customized through Lua. It draws text and UI elements directly to a pixel buffer using a single-threaded event loop, bypassing heavyweight widget toolkits to keep the editor fast and responsive even on low-resource hardware. The editor distinguishes itself through its Lua-based plugin architecture and file-based configuration system, where settings, keybindings, and plugin metadata are stored as plain Lua fi
vcmi is an open-source game engine for Heroes of Might and Magic III that recreates the gameplay, logic, and rendering of the original strategy game. It serves as a cross-platform game runtime supporting Windows, Linux, macOS, Android, and iOS, providing a turn-based strategy simulator for strategic world map navigation and tactical combat. The project is built as a moddable game framework, featuring a data-driven modding system and a sandboxed Lua scripting integration. These allow for the definition of custom gameplay logic, spell effects, and the addition of new factions, characters, and a
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
VNote is a native C++ desktop application designed as a Markdown note-taking platform and digital knowledge base. It provides a high-performance environment for organizing, editing, and structuring information using a Markdown-based content model. The application distinguishes itself with a Vi-style input mode for text navigation and a system of priority-based event hooks for extensibility. It further supports customization through CSS-based theme styling and global hotkey mapping. Broad capabilities include personal knowledge management via full-text and tag search, digital mind mapping, an
react-ace is a React component wrapper for the Ace code editor, designed to embed feature-rich text editing and syntax highlighting into web applications. It provides a browser-based editor that applies language-specific coloring and formatting rules to source code and markup files. The project distinguishes itself through support for specialized keyboard interaction modes, including Vim and Emacs, as well as a side-by-side diff viewer for comparing different file versions. It also functions as a tool for code snippets and live autocompletions to accelerate text entry. The component covers a
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 com
This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers
MarkEdit is a high-performance Markdown text editor and document navigator. It provides a scriptable editing environment that supports side-by-side HTML rendering for real-time formatting previews. The editor is distinguished by a multi-caret engine that enables rectangular block selections and simultaneous modification of multiple text ranges. It allows for extensive interface and functional customization through external CSS stylesheets and the integration of system-level scripts to automate repetitive tasks. The application includes tools for managing large documents, such as content bloc
Heynote is a markdown scratchpad editor and plain text note organizer that utilizes persistent, block-based buffers to maintain state across application sessions. It serves as a code snippet manager with automatic syntax highlighting and a tool for managing multiple categorized text buffers through a tabbed interface. The application functions as an interactive calculation notepad, evaluating mathematical expressions and currency conversions directly within the text. It also includes an image annotation utility that allows for freehand drawings and markups on embedded images, which can then b
Lime is a multi-platform text editor designed for code and prose that supports simultaneous multi-point insertion for modifying text in several locations at once. It is a Python-scriptable environment that renders across desktop windows, web browsers, and terminal emulators. The editor is designed to be API-compatible with Sublime Text, enabling the execution of its plugins and the import of its configuration files, keybindings, and themes. This compatibility allows users to reuse third-party extensions and maintain a consistent experience when migrating from that environment. The project pr
Tailspin is a regex-based text colorizer and terminal log viewer designed to transform plain text streams into colorized output. It functions as a command line log highlighter and tailer that applies syntax highlighting to logs using regular expressions. The tool distinguishes itself through its ability to monitor files in real time and pipe live output through a highlighter. It recognizes and colors common data types such as IP addresses, UUIDs, HTTP methods, JSON objects, dates, and memory pointers. Users can define custom highlight styles and regex patterns to assign specific colors to uni
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 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