awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jeffreytse avatar

jeffreytse/zsh-vi-mode

0
View on GitHub↗
4,380 stars·149 forks·Shell·MIT·18 views

Zsh Vi Mode

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 native OS clipboard and opening file paths or URLs located under the cursor.

The project covers shell modal navigation and terminal text manipulation through custom widget mapping and visual mode indicators that signal the active input state via the cursor style. Users can extend the editor's behavior by registering custom widgets and defining specific escape key sequences for mode transitions.

Features

  • Command Line Navigation - Provides a Vi-modal editing environment for the Zsh shell to improve command line navigation and manipulation.
  • Vi Modal Editing - Implements Vi-style modal editing for efficient text navigation and manipulation on the shell command line.
  • Modal Text Manipulation - Implements advanced modal text manipulation such as surround management and keyword cycling on the command line.
  • Modal Text Navigation - Provides Vi-style modal navigation for moving and editing complex command strings efficiently.
  • Command Line Editors - Implements a modal text entry system for the shell to speed up command line editing.
  • Shell Widget Mappings - Binds custom shell functions to Zsh Line Editor widgets to customize command line behavior.
  • Zsh Shell Extensions - Extends the Zsh shell with modal editing and custom widget mapping capabilities.
  • Editor Mode Switching - Detects specific character patterns to trigger transitions between insert and normal modes.
  • Input Mode State Machines - Implements a state machine to track and switch between command navigation and text insertion modes.
  • Terminal Clipboard Utilities - Integrates shell-level deletions and copies with the system clipboard for seamless data transfer.
  • Key Sequence Patterns - Allows users to define custom character sequences that trigger the transition to normal mode.
  • Shell Workflow Optimizers - Streamlines terminal interactions through customizable widgets and mode transition sequences.
  • Surrounding Character Management - Provides capabilities to add, replace, or delete surrounding characters like quotes and brackets around selected text.
  • System Clipboard Integrations - Synchronizes text deleted or copied during modal editing with the native OS clipboard.
  • External Editor Buffers - Allows exporting the current command line buffer to an external text editor for complex modifications.
  • Keyword Cycling - Implements keyword cycling to increase or decrease values like numbers, booleans, and dates directly on the command line.
  • Text Buffer Pattern Manipulations - Uses regular expressions to identify and cycle keywords or modify characters surrounding the cursor.
  • Shell Widget Registrations - Enables mapping user-defined functions and keybindings to extend shell behavior without conflicting with core modes.
  • External Editor Integration - Provides a mechanism to hand off the current command line buffer to a full-featured external text editor for complex editing.

Star history

Star history chart for jeffreytse/zsh-vi-modeStar history chart for jeffreytse/zsh-vi-mode

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Zsh Vi Mode

These projects share indexed features with Zsh Vi Mode. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • martanne/vismartanne avatar

    martanne/vis

    4,634View on GitHub↗

    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

    C
    View on GitHub↗4,634
  • nvim-mini/mini.nvimnvim-mini avatar

    nvim-mini/mini.nvim

    9,325View on GitHub↗

    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

    Lualuamini-nvimneovim
    View on GitHub↗9,325
  • tridactyl/tridactyltridactyl avatar

    tridactyl/tridactyl

    6,246View on GitHub↗

    Tridactyl is a Vim-like Firefox extension that provides a comprehensive keyboard-driven interface for browsing, tab management, and page interaction. It replaces traditional mouse-based navigation with Vim-style keybindings, an ex-mode command line, and a hint overlay system for selecting and interacting with page elements. The extension is built around a core infrastructure that includes a modal command parser, a keybinding configuration system, and a content-script command bridge for executing commands in page context. The extension distinguishes itself through its deep integration with Fir

    TypeScriptfirefoxhacktoberfestvim
    View on GitHub↗6,246
  • emacs-evil/evilemacs-evil avatar

    emacs-evil/evil

    3,792View on GitHub↗

    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

    Emacs Lispeditingeditoremacs
    View on GitHub↗3,792
Compare all 30 related projects→

Frequently asked questions

What does jeffreytse/zsh-vi-mode do?

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.

What are the main features of jeffreytse/zsh-vi-mode?

The main features of jeffreytse/zsh-vi-mode are: Command Line Navigation, Vi Modal Editing, Modal Text Manipulation, Modal Text Navigation, Command Line Editors, Shell Widget Mappings, Zsh Shell Extensions, Editor Mode Switching.

Which projects share features with jeffreytse/zsh-vi-mode?

Projects with overlapping indexed features include: martanne/vis — Vis is a terminal-based modal text editor that utilizes vi keybindings and a system of structural regular expressions.… nvim-mini/mini.nvim — mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation,… tridactyl/tridactyl — Tridactyl is a Vim-like Firefox extension that provides a comprehensive keyboard-driven interface for browsing, tab… emacs-evil/evil — Evil is a modal editing framework and state-machine layer for the Emacs text editor. It functions as a modal text… tencent/cherry-markdown — Cherry Markdown is a web-based Markdown editor and parsing engine that converts markup text into sanitized HTML with a… iggredible/learn-vim — Learn-Vim is an interactive learning platform designed to build proficiency in the Vim text editor. It provides a…