30 open-source projects similar to iggredible/learn-vim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Learn Vim alternative.
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
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
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
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.
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
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
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.
This project is a curated resource repository and learning platform dedicated to creative coding, generative art, and graphics programming. It serves as a comprehensive directory for developers and artists seeking to build interactive media, procedural visuals, and real-time digital experiences. The collection distinguishes itself by aggregating a wide range of technical tools, frameworks, and educational materials necessary for mastering creative technology. It provides access to specialized graphics libraries, shader editors, and hardware interfaces, while also offering guidance on the math
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
This project is an interactive data science environment that combines code execution, rich media visualization, and narrative documentation into a persistent, browser-based platform. It serves as a comprehensive educational resource for scientific computing, providing a framework for iterative data analysis and machine learning prototyping. The environment is distinguished by its focus on high-performance numerical computing, utilizing vectorized array operations and memory-mapped data structures to handle large-scale computations efficiently. It features a unified estimator interface that st
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite
This project is a curated exit guide and text editor tutorial for closing the Vim text editor. It serves as a knowledge base for users seeking both standard and unconventional methods to terminate a Vim session. The documentation is presented as a collection of satirical and humorous software instructions. It provides a range of extreme techniques for ending a stubborn software process, ranging from basic navigation to more drastic measures. The content covers command line tool troubleshooting and process termination, including the use of shell commands and system-level resets to regain cont
This project is a structured educational resource designed to guide developers through the mastery of the JavaScript programming language. It utilizes a progressive curriculum that organizes technical concepts into a daily learning path, allowing students to build foundational knowledge before advancing to complex application development. The resource distinguishes itself through a hands-on training model that combines detailed explanations with practical code challenges. By focusing on an interactive learning experience, it reinforces core language principles—such as data types, functional p
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
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
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
Oppia is an online learning platform and cloud-based learning environment designed to deliver interactive lessons and tutoring through structured activities. It functions as a multilingual educational content management system that provides a web-based interface for students to engage with educational resources. The project includes an interactive lesson authoring tool that enables the creation of educational content featuring dynamic values, data visualizations, and rich text editors. To ensure global accessibility, the system supports multilingual content with localized stylesheets and righ
sql-mother is a browser-based educational platform for learning SQL syntax through interactive exercises, tutorials, and a query playground. It provides a structured environment for mastering the logic and syntax of MySQL, SQLite, and PostgreSQL using a sequence of hands-on challenges. The platform uses a WebAssembly-based database engine to enable local SQL execution and real-time query validation entirely within the browser. This architecture allows for virtual table mocking and state management without the need for a backend server or user accounts. The environment includes a gamified cur
Learn-SQL is an interactive platform and exercise repository designed for beginner programming education, specifically focusing on SQL query practice and relational database management. It functions as an in-browser learning tool where users can execute database scripts and practice foundational querying skills without requiring any backend server infrastructure. The platform evaluates database queries directly inside the browser session by compiling an entire SQL engine into portable WebAssembly bytecode. Curriculum content, lesson instructions, and challenge prompts are stored as plain text
This project is an interactive educational platform and comprehensive curriculum designed to teach developers how to build, query, and integrate GraphQL APIs into full-stack applications. It provides a structured learning environment for mastering core concepts such as schema design, query execution, and the implementation of data-driven interfaces. The platform distinguishes itself by focusing on the practical application of real-time data synchronization and backend architecture. It guides users through the process of connecting frontend frameworks to relational databases, implementing role
Visualization Curriculum is a curated collection of educational Jupyter notebooks and interactive lessons designed to teach foundational principles and practical design patterns for data visualization. The curriculum covers core concepts such as visual encoding, graphical marks, scales, data transformation, multi-view composition, and interaction techniques. Lessons employ declarative grammars to define data graphics through high-level specifications that map data fields directly to visual marks and channels. The materials support multi-view composition architecture, coordinating distinct da
This project is an interactive coding learning platform and open-source educational courseware designed for mastering web development. It provides a browser-based environment where users can engage with a structured curriculum covering front-end, back-end, and data visualization skills through hands-on exercises. The platform distinguishes itself by integrating a browser-based code sandbox and a nonprofit technical partnership portal. This framework allows learners to transition from guided lessons to building and maintaining real-world software applications for nonprofit organizations. The
This project is an interactive machine learning textbook and educational resource designed to teach the mathematical foundations of artificial intelligence. It functions as a structured course and digital book that covers essential topics ranging from basic arithmetic to advanced calculus, linear algebra, and statistics. The resource utilizes a math visualization library and a collection of interactive code examples to demonstrate abstract principles through algorithmic output. It transforms theoretical study into a practical experience by combining programmable examples with visual guides.
This project is an interactive educational resource designed to teach prompt engineering for large language models. It provides a structured curriculum that guides users through the process of structuring instructions and context to improve the accuracy and consistency of model outputs. The platform functions as an interaction sandbox, allowing users to experiment with various prompting strategies directly within their browser. By executing tutorial examples in this environment, users receive immediate feedback on their inputs, facilitating the prototyping of prompts for integration into soft
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
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 an open educational curriculum designed to teach the fundamental concepts and practical applications of artificial intelligence. It provides a structured, modular path for developers to build technical proficiency in machine learning, neural networks, computer vision, and natural language processing. The curriculum distinguishes itself through an interactive learning path that integrates executable code blocks directly into the documentation. By utilizing a series of Jupyter notebooks, learners can run experiments, visualize results, and complete hands-on coding exercises with
Pluto.jl is a reactive computing environment for Julia that functions as a programmable document format. It serves as an interactive data science IDE and a polyglot computational notebook that stores Julia code and environment dependencies as versionable source files. The system is distinguished by its reactive execution model, which uses a directed acyclic graph to track variable dependencies and automatically re-evaluate affected downstream cells when a value changes. It ensures reproducibility by integrating isolated package environments directly within the notebook file and persisting con
PSReadLine is a command line editor for PowerShell that provides advanced line editing and command history management. It functions as a suite of tools for enhancing the interactive shell experience through a Bash-inspired implementation of editing, completion, mapping, synchronization, and highlighting. The project includes an interactive completion engine for navigating suggestions via a menu system and a keyboard mapping tool for assigning shortcuts to custom actions. It also features a session history synchronizer that automatically saves and shares command history across multiple active