{"id":13479702,"url":"https://github.com/mg979/vim-visual-multi","last_synced_at":"2025-05-14T14:09:09.289Z","repository":{"id":38484217,"uuid":"129206982","full_name":"mg979/vim-visual-multi","owner":"mg979","description":"Multiple cursors plugin for vim/neovim","archived":false,"fork":false,"pushed_at":"2024-09-01T18:09:22.000Z","size":1327,"stargazers_count":4474,"open_issues_count":27,"forks_count":88,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-09T11:01:55.413Z","etag":null,"topics":["cursor","multiple-cursors","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mg979.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-12T06:55:46.000Z","updated_at":"2025-04-09T03:19:51.000Z","dependencies_parsed_at":"2022-07-07T16:27:31.311Z","dependency_job_id":"c8691704-6f53-45a6-a887-3236cf9c4027","html_url":"https://github.com/mg979/vim-visual-multi","commit_stats":{"total_commits":799,"total_committers":14,"mean_commits":57.07142857142857,"dds":"0.025031289111389188","last_synced_commit":"a6975e7c1ee157615bbc80fc25e4392f71c344d4"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mg979%2Fvim-visual-multi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mg979%2Fvim-visual-multi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mg979%2Fvim-visual-multi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mg979%2Fvim-visual-multi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mg979","download_url":"https://codeload.github.com/mg979/vim-visual-multi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160210,"owners_count":22024567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cursor","multiple-cursors","vim"],"created_at":"2024-07-31T16:02:21.693Z","updated_at":"2025-05-14T14:09:04.279Z","avatar_url":"https://github.com/mg979.png","language":"Vim Script","readme":"## vim-visual-multi\n\nIt's called ___vim-visual-multi___ in analogy with _visual-block_, but the plugin works mostly from normal mode.\n\nBasic usage:\n\n- select words with \u003ckbd\u003eCtrl-N\u003c/kbd\u003e (like `Ctrl-d` in Sublime Text/VS Code)\n- create cursors vertically with \u003ckbd\u003eCtrl-Down\u003c/kbd\u003e/\u003ckbd\u003eCtrl-Up\u003c/kbd\u003e\n- select one character at a time with \u003ckbd\u003eShift-Arrows\u003c/kbd\u003e\n- press \u003ckbd\u003en\u003c/kbd\u003e/\u003ckbd\u003eN\u003c/kbd\u003e to get next/previous occurrence\n- press \u003ckbd\u003e[\u003c/kbd\u003e/\u003ckbd\u003e]\u003c/kbd\u003e to select next/previous cursor\n- press \u003ckbd\u003eq\u003c/kbd\u003e to skip current and get next occurrence\n- press \u003ckbd\u003eQ\u003c/kbd\u003e to remove current cursor/selection\n- start insert mode with \u003ckbd\u003ei\u003c/kbd\u003e,\u003ckbd\u003ea\u003c/kbd\u003e,\u003ckbd\u003eI\u003c/kbd\u003e,\u003ckbd\u003eA\u003c/kbd\u003e\n\nTwo main modes:\n\n- in _cursor mode_ commands work as they would in normal mode\n- in _extend mode_ commands work as they would in visual mode\n- press \u003ckbd\u003eTab\u003c/kbd\u003e to switch between «cursor» and «extend» mode\n\nMost vim commands work as expected (motions, \u003ckbd\u003er\u003c/kbd\u003e to replace characters, \u003ckbd\u003e~\u003c/kbd\u003e to change case, etc). Additionally you can:\n\n- run macros/ex/normal commands at cursors\n- align cursors\n- transpose selections\n- add patterns with regex, or from visual mode\n\nAnd more... of course, you can enter insert mode and autocomplete will work.\n\n\n### Installation\n\nWith vim-plug:\n\n    Plug 'mg979/vim-visual-multi', {'branch': 'master'}\n    \nWith Vim 8+:\n\n    mkdir -p ~/.vim/pack/plugins/start \u0026\u0026 git clone https://github.com/mg979/vim-visual-multi ~/.vim/pack/plugins/start/vim-visual-multi\n\n\n### Documentation\n\n    :help visual-multi\n\nFor some specific topic it's often:\n\n    :help vm-some-topic\n\n### Tutorial\n\nTo run the tutorial:\n\n    vim -Nu path/to/visual-multi/tutorialrc\n\n\n### [Wiki](https://github.com/mg979/vim-visual-multi/wiki)\n\nThe wiki was the first documentation for the plugin, but many pictures are\noutdated and contain wrong mappings. Still, you can take a look.\n\nYou could read at least the [Quick Start](https://github.com/mg979/vim-visual-multi/wiki/Quick-start).\n\n-------\nSome (sometimes very old) random pics:\n\n-------\nInsert mode with autocomplete, alignment (mappings in pic have changed, don't trust them)\n\n![Imgur](https://i.imgur.com/u5pPY5W.gif)\n\n-------\nUndo/Redo edits and selections\n\n![Imgur](https://i.imgur.com/gwFfUxq.gif)\n\n-------\nAlternate cursor/extend mode, motions (even %), reverse direction (as in visual mode) and extend from the back. At any time you can switch from extend to cursor mode and viceversa.\n\n![Imgur](https://i.imgur.com/ggQr1Ve.gif)\n\n-------\nSelect inside/around brackets/quotes/etc:\n\n![Imgur](https://i.imgur.com/GAXQLao.gif)\n\n-------\nSelect operator, here shown with 'wellle/targets.vim' plugin: sib, sia, saa + selection shift\n\n![Imgur](https://i.imgur.com/yM3Fele.gif)\n\n-------\nSynched column transposition\n\n![Imgur](https://i.imgur.com/9JDaLBi.gif)\n\n-------\nUnsynched transposition (cycle all regions, also in different lines)\n\n![Imgur](https://i.imgur.com/UQOCxyf.gif)\n\n-------\nShift regions left and right (M-S-\\\u003c\\\u003e)\n\n![Imgur](https://i.imgur.com/Q7EF8YI.gif)\n\n------\nFind words under cursor, add new words (patterns stack), navigate regions, skip them, add regions with regex.\n\n![Imgur](https://i.imgur.com/zWtelNO.gif)\n\n-------\nNormal/Visual/Ex commands at cursors\n\n![Imgur](https://i.imgur.com/5aiQscj.gif)\n\n-------\nMacros. Shorter lines are skipped when adding cursors vertically.\n\n![Imgur](https://i.imgur.com/3IsZzF3.gif)\n\n-------\nSome editing functions: yank, delete, paste from register, paste block from yanked regions\n\n![Imgur](https://i.imgur.com/0jRkVdp.gif)\n\n----------------------------------------\n\nCase conversion\n\n![Imgur](https://i.imgur.com/W6EP0dy.gif)\n\n","funding_links":[],"categories":["Vim Script","Vim script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmg979%2Fvim-visual-multi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmg979%2Fvim-visual-multi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmg979%2Fvim-visual-multi/lists"}