# terryma/vim-multiple-cursors

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/terryma-vim-multiple-cursors).**

7,952 stars · 244 forks · Vim script · MIT

## Links

- GitHub: https://github.com/terryma/vim-multiple-cursors
- awesome-repositories: https://awesome-repositories.com/repository/terryma-vim-multiple-cursors.md

## Description

This is a Vim plugin that adds simultaneous multi-selection and parallel editing capabilities to the editor. It functions as a multi-cursor tool and regex-based batch editor, allowing users to perform the same editing action across multiple locations in a buffer at once.

The extension enables the placement of virtual cursors across a document using regular expressions or by identifying all occurrences of a word. It also allows for the generation of cursors on every line within a visual selection to facilitate multi-line block editing.

The tool supports synchronized character insertion and parallel text modifications, including edits and deletions across all active cursors. It includes a configuration system for keyboard shortcuts and hook-based mechanisms to manage plugin conflicts during active sessions.

## Tags

### Development Tools & Productivity

- [Multi-Cursor Editing](https://awesome-repositories.com/f/development-tools-productivity/multi-cursor-editing.md) — Implements simultaneous text manipulation across multiple document locations through a multi-cursor system. ([source](https://github.com/terryma/vim-multiple-cursors#readme))
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins.md) — Provides an extension for the Vim editor that implements simultaneous multi-selection and parallel editing.
- [Synchronized Insertions](https://awesome-repositories.com/f/development-tools-productivity/cursor-relative-position-calculators/synchronized-insertions.md) — Enables characters to be placed at the same relative position across all active cursors simultaneously. ([source](https://github.com/terryma/vim-multiple-cursors/wiki/Keystrokes-for-example-gifs))
- [Synchronized Input Emulation](https://awesome-repositories.com/f/development-tools-productivity/synchronized-input-emulation.md) — Intercepts keystrokes in insert mode to mirror character input across all active virtual cursors simultaneously.
- [Text Editing Workflows](https://awesome-repositories.com/f/development-tools-productivity/text-editing-workflows.md) — Enables performing the same edits, deletions, or insertions across multiple document locations simultaneously.
- [Word-Based Selections](https://awesome-repositories.com/f/development-tools-productivity/word-based-selections.md) — Provides the ability to find and select all occurrences of the word under the cursor for simultaneous modification. ([source](https://github.com/terryma/vim-multiple-cursors/wiki/Keystrokes-for-example-gifs))
- [Command Replication Systems](https://awesome-repositories.com/f/development-tools-productivity/command-replication-systems.md) — Implements a system that captures an editing command and applies it sequentially across all active virtual cursors.
- [Parallel Block Editing](https://awesome-repositories.com/f/development-tools-productivity/multi-line-editing/parallel-block-editing.md) — Allows placing cursors on every line of a visual selection to modify vertical blocks of text in parallel.

### Part of an Awesome List

- [Regex Cursor Placement](https://awesome-repositories.com/f/awesome-lists/data/regular-expressions/regex-cursor-placement.md) — Generates virtual cursors across a document using regular expressions to edit matching patterns simultaneously. ([source](https://github.com/terryma/vim-multiple-cursors/blob/master/CHANGELOG.md))
- [Regex Pattern Matching](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching.md) — Identifies multiple occurrences of words or regex patterns to apply changes to all matches simultaneously.
- [Batch Text Editors](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching/batch-text-editors.md) — Uses regular expressions to find text patterns and place cursors at every match for simultaneous modification.

### Data & Databases

- [Text Pattern Matching](https://awesome-repositories.com/f/data-databases/text-pattern-matching.md) — Locates text patterns via regular expressions to instantiate cursors at every match within a specified range. ([source](https://github.com/terryma/vim-multiple-cursors#readme))

### User Interface & Experience

- [Multi-Cursor Simulation](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/multi-cursor-simulation.md) — Manages a collection of buffer coordinates to simulate multiple active editing points within the editor.
- [Regex-Based Selection](https://awesome-repositories.com/f/user-interface-experience/text-selection-control/regex-based-selection.md) — Provides regular expression-based selection to identify and spawn virtual cursors at all matching text occurrences.
- [Visual-Range Expansion](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/visual-range-expansion.md) — Generates virtual cursors on every line within a visual selection to facilitate parallel block editing.
- [Parallel Block Selection](https://awesome-repositories.com/f/user-interface-experience/visual-editing-tools/parallel-block-selection.md) — Adds the ability to place cursors on every line within a visual selection for parallel changes.
