30 open-source projects similar to vsvim/vsvim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best VsVim alternative.
XVim is an IDE text editor extension and Vim keybinding emulator that integrates modal editing into professional development environments. Specifically, it functions as a plugin that brings Vim modal editing and keybindings to the Xcode integrated development environment. The project modifies keyboard input and text navigation behavior to allow users to navigate and manipulate text using Vim shortcuts. This integration aims to increase typing speed and editing efficiency within the native development environment. The system manages modal states and intercepts keyboard events to prevent defau
Evil is a modal editing framework and state-machine layer for the Emacs text editor. It functions as a modal text editing layer that separates text entry from navigation and manipulation by routing intercepted keystrokes through a central command dispatching system. The project serves as a Vim keybinding emulator, mapping standard modal editing commands and keyboard shortcuts into the Emacs environment. It utilizes an operator-motion command engine to compose atomic movement and action inputs into complex grammatical editing operations. The framework covers keyboard-driven navigation and tex
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
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.
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
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
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
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
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
ncspot is a terminal-based music player that streams audio from a Spotify Premium account, combining a text-based user interface with Vim-style keyboard navigation for browsing and playing music libraries. It functions as an interactive Spotify client that can also accept remote commands over an IPC socket, enabling headless or scripted playback control without direct user interaction. The player is designed for efficient keyboard-driven operation, using modal keybindings inspired by Vim to navigate tracks, albums, playlists, and genres. It supports lightweight music streaming suitable for lo
IdeaVim – A Vim engine for JetBrains IDEs
This project is a structured learning curriculum and guide designed to transition a user from a beginner to an advanced level of Emacs mastery over the course of one year. It provides a step-by-step study plan, configuration guides, and a workflow manual to help users navigate the complexities of the editor. The guide emphasizes a specific operational model, focusing on the implementation of modal editing through Vim-style keybindings and the use of hierarchical leader-key mapping for command organization. It details the process of transforming the editor into a full development environment 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
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
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
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
skhd is a keyboard shortcut manager and hotkey daemon for macOS. It functions as an input remapper that maps custom keyboard shortcuts to shell commands and system actions via a plain text configuration file. The utility supports modal keyboard workflows, allowing groups of shortcuts to activate only when the system is in a specific operational mode. It also enables application-specific hotkeys and application blacklisting, ensuring shortcuts only trigger based on which application is currently in focus. Additional capabilities include the remapping of hardware media keys and the synthesis o
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 visu
vim-surround is a plugin for managing pairs of enclosing delimiters within the Vim editor. It functions as a text manipulation tool that automates the addition, removal, and replacement of characters and tags that surround text objects. The tool provides specialized commands to wrap selections, lines, or specific text objects in character pairs such as brackets and quotes. It also enables the replacement of existing delimiters with different pairs or the complete removal of surrounding characters while preserving the internal content. These capabilities extend to markup languages, allowing f
This project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL and NoSQL databases. It functions as a unified workspace that integrates a code-centric SQL editor with schema visualization tools, allowing developers to manage complex data models and execute queries across diverse database engines. The application distinguishes itself through an agentic AI integration layer that connects language models directly to database tools, enabling automated query generation, optimization, and error fixing with configurable approval gates. It features
This project is a modular configuration framework for the Emacs text editor, designed to provide optimized defaults and a curated ecosystem of plugins. It functions as a comprehensive environment that structures complex editor settings into a reproducible and stable workspace. The framework distinguishes itself through a declarative package management system that pins dependencies to ensure consistency across different machines. It incorporates a modal editing layer that replicates keyboard-driven navigation and text manipulation workflows, alongside a rule-based engine that automates the lif
This project is a comprehensive educational resource designed to help developers master object-oriented design and architectural patterns. It serves as a structured reference for understanding how to organize classes and objects to improve code maintainability, resolve recurring development challenges, and prepare for technical engineering assessments. The guide covers the three primary categories of design patterns: creational, structural, and behavioral. Each pattern is explained through practical examples that demonstrate how to manage object instantiation, simplify complex interfaces, and
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
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
This project is a reference collection of practical examples demonstrating the implementation of common software design patterns in Kotlin. It serves as a guide to architectural best practices and object-oriented principles through the application of behavioral, creational, and structural patterns. The collection provides concrete implementations to demonstrate how to decouple object instantiation, manage communication and responsibility between objects, and organize complex class and object relationships. The reference covers creational patterns such as factories and builders, structural pa
QCAD is a professional two-dimensional computer-aided drafting application designed for creating technical drawings, engineering schematics, and architectural plans. It provides a comprehensive suite of geometric construction and modification tools that allow users to draft precise layouts while managing complex project structures through layers, blocks, and part libraries. The software distinguishes itself through an integrated scripting framework that enables users to automate repetitive design tasks and develop custom tools to extend core functionality. It also functions as a manufacturing
Tinykeys is a lightweight JavaScript utility for mapping keyboard combinations, sequences, and regular expression patterns to specific callback functions. It serves as an input mapping utility that triggers actions based on simultaneous modifier key presses or chronological key sequences. The library distinguishes itself by supporting dynamic key pattern matching through regular expressions and state-based sequence tracking to execute actions after a specific series of presses. It also includes a keyboard event parser that converts human-readable shortcut strings into structured data. These
This project serves as a comprehensive library and architectural guide for implementing established software design patterns within the Unity engine using C#. It provides a structured approach to organizing game logic, focusing on improving code maintainability, scalability, and long-term project health through proven structural solutions. The collection distinguishes itself by offering practical implementations of architectural patterns that decouple game systems, such as event dispatching and request handling, while providing tools to identify and rectify common coding anti-patterns. It fur