30 open-source projects similar to tpope/vim-rails, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Vim Rails alternative.
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
rust.vim is a Vim plugin that provides language-specific editor support for Rust. It integrates syntax highlighting, indentation management, and tooling configurations to improve the readability and structural understanding of Rust source code. The plugin enables targeted test execution for specific functions and provides integration with an online playground for code experimentation and sharing. It further covers capabilities for code formatting, static error detection, and symbol navigation for browsing source structures and jumping between definitions. Configuration is managed through Vi
This project is a Vim configuration framework and development environment that transforms the basic text editor into a full-featured integrated development environment. It provides a curated set of settings and a comprehensive plugin suite to support professional software development workflows. The environment includes specialized tools for polyglot code execution and project navigation, allowing users to run source files in multiple languages via single keystrokes and locate files using fuzzy searching. It also integrates version control workflows, enabling the management of Git operations a
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
lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server
emmet-vim is a plugin for Vim that functions as a markup automation tool and code expander. It allows for the rapid generation of HTML and CSS structures by expanding shorthand text expressions into full code elements. The tool provides a set of shortcuts for wrapping, balancing, and manipulating tags. It includes a text object extension that enables navigation and editing commands for jumping between nested element boundaries. The project covers a range of capabilities for frontend code refactoring and document hierarchy restructuring. These include tag wrapping, element removal, attribute
This is a Vim plugin providing a suite of tools for editing, formatting, and navigating Markdown documents. It functions as a specialized editor extension that integrates syntax highlighting and structural management directly into the Vim environment. The project focuses on document navigation and structural organization, offering a system for jumping between headers and generating tables of contents to manage long files. It includes a table formatter that aligns and beautifies columns to maintain visual consistency. The plugin covers broad capability areas including header management for ad
vim-lsp is a Vim plugin that implements the Language Server Protocol to provide an asynchronous code intelligence tool for the editor. It serves as a bridge between Vim and external language servers, providing semantic code analysis and IDE-like navigation and diagnostics. The project provides a refactoring interface for renaming symbols across a workspace and applying quick-fixes. It also enables semantic highlighting, which color-codes elements based on their meaning as determined by the language server. The plugin covers a broad surface of capabilities, including symbol navigation and dis
Amber is a transpiler that translates high-level source code into executable shell scripts for Bash, Zsh, and Ksh. It provides a type-safe environment for shell script generation, allowing for static type validation and the creation of standalone executable scripts. The project distinguishes itself through a compilation process that includes tree-shaking import optimization to reduce output size and template-based script wrapping for custom headers and footers. It utilizes a module-based dependency resolution system with visibility controls to manage code reuse across multiple files. The lan
Sbt is a JVM build tool and dependency management system designed for Scala and Java. It functions as a multi-project build orchestrator that manages the compilation of source code, resolves external libraries from remote repositories, and packages binaries for distribution. The project is distinguished by its interactive build system, which provides a read-eval-print loop for real-time state inspection and task execution. It utilizes a dependency-graph based execution model to process tasks and maintains a type-safe key-value store for dynamic build configuration. Its capabilities cover JVM
YouCompleteMe is a completion engine and semantic code analyzer for the Vim editor. It provides an integrated suite of development tools, including a Language Server Protocol client and a semantic analyzer that utilizes Clang to offer context-aware symbols and type-based highlighting. The project distinguishes itself through specialized semantic completion for C-family languages and JavaScript, offering identifiers, snippets, and automatic imports. It provides advanced visual feedback such as inlay hints for type information and parameter names, as well as semantic highlighting based on the a
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
Everforest is a nature-inspired color scheme and syntax highlighting theme for Vim and Neovim. It provides a collection of light and dark color schemes designed with soft contrast to reduce eye strain. The theme features a green-based palette with adjustable background contrast and multi-variant color profiles to suit different ambient lighting. Users can modify the visual appearance through variable-driven customization and a configurable color palette. The project covers semantic syntax highlighting and UI element colorization to distinguish code logic across various programming languages.
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 a comprehensive development plugin for the Vim text editor, designed to transform the editor into a specialized environment for Go software development. It provides a suite of integrated tools that facilitate the entire development lifecycle, including writing, maintaining, and navigating Go source code. The plugin distinguishes itself by orchestrating external command-line binaries and language servers to perform heavy analysis, compilation, and formatting tasks as background processes. By mapping editor events to these external tools and utilizing virtual file system synchro
auto-pairs is a Vim plugin that provides an extensible system for automatic bracket management and text manipulation. It automatically inserts and deletes matching brackets, parentheses, and quotes to increase editing efficiency. The tool allows for the definition of custom single-character and multibyte opening and closing pairs, supporting complex delimiters such as comments or triple quotes. It provides capabilities for wrapping blocks of text in pairs, navigating between corresponding characters, and formatting indented lines when pressing enter within a pair.
This project is a curated configuration suite and development environment bootstrapper designed to optimize Zsh and Vim. It provides a collection of dotfiles, plugins, and scripts that automate the installation of system packages and shell tools to standardize a local workstation. The suite focuses on creating a consistent experience across the command line and text editor. It implements a Zsh shell framework with syntax highlighting and fuzzy matching, alongside a Vim configuration that includes advanced plugins and modal editing. It also provides a set of sane defaults and Vim-style keybind
This project is a comprehensive educational resource consisting of a Bash programming tutorial, scripting reference, and Linux command line manual. It provides instructional materials for writing scripts, automating system tasks, and mastering terminal navigation and Unix system administration. The guides cover a wide range of shell environment customization, including prompt styling and the use of aliases. It also provides a shell environment guide for managing configuration files and initializing user environments. The materials detail a broad set of capabilities including control flow log
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
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
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses. The project translates Unix shell commands into equivalent operations for the host operating system, allowing scripts to run consistently across different platforms. It supports the registration of custom commands and the integration of third-party plugins to extend its portable shell capabilities. The library covers broad capability areas
Autojump is a command line productivity tool and shell extension that automates directory navigation. It functions as a shell navigation wrapper that tracks folder access patterns to allow jumping to directories using partial names. The tool utilizes a directory history database and a fuzzy path resolver to match incomplete directory strings to full paths. It weights and ranks these paths based on recency and frequency of use to predict the most likely destination. Beyond shell navigation, the utility includes a terminal file explorer launcher capable of opening the native operating system f
Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi
gping is a terminal-based network latency grapher and performance monitor. It functions as a cross-platform ping client that visualizes ICMP response times as real-time line graphs directly within the command line. The tool distinguishes itself by operating as a command execution time plotter, allowing the duration of any shell command to be graphed over time to analyze performance fluctuations. It supports multi-host latency plotting and provides shorthand identifiers for monitoring connectivity across different cloud infrastructure regions. The utility covers network diagnostics and observ
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
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
This is a navigation plugin for Vim that enables instant cursor movement by highlighting all possible jump targets in the visible text and assigning them unique keys. It functions as a search-to-jump extension, converting character or multi-character search patterns into single-key jumps to specific text targets. The tool supports multibyte text navigation, allowing users to search for and jump to Japanese characters using alphabetical input patterns. It also employs intelligent case matching and symbol-based mapping to link numeric digits with their corresponding keyboard shift-symbols. The
VimTeX is an integrated development environment for authoring and compiling LaTeX documents within Vim and Neovim. It functions as a comprehensive suite for technical document authoring, combining the roles of a syntax highlighter, document navigator, and autocompletion engine. The plugin distinguishes itself through a coordinated workflow that manages asynchronous compilation and bidirectional synchronization with external PDF viewers. This allows users to jump between specific source locations and their rendered pages while maintaining a responsive editor interface during document productio
vim-snippets is a library of pre-defined code templates and boilerplates for numerous programming languages designed for use within Vim. It provides standardized patterns and repetitive code blocks for a wide variety of languages and frameworks. The collection includes templates formatted for the Snipmate engine and other compatible text expansion plugins. It features optional template sets for specific libraries and frameworks to keep the global snippet namespace organized. The project manages multi-language boilerplate and vendor snippet integration through automated language detection and