VSCodeVim / VSCodeVim/Vim

The built-in regular expressions of VSCode Vim conflict with those of Neovim.

Open
#9,870 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

When Neovim is enabled ("vim.enableNeovim": true), a conflict occurs between the regular expressions of VSCode Vim and Neovim.

  1. enableNeovim

https://github.com/user-attachments/assets/ccf8e7fd-7e3d-44af-a25f-5de006b6c283

The regular expression engine of Neovim does not support certain syntax such as \b, which is supported by the regular expression engine of VSCode Vim. As a result, even though the extension correctly displays the replacement outcome, the replacement fails due to errors from Neovim.

Alternatively, when using regular expressions that are valid in Neovim, the VSCode Vim extension may correctly display the replacement results but fail to execute the replacement.
neovim

https://github.com/user-attachments/assets/0c5aa10d-77d0-4488-9d6d-acf70a36f3eb

using in vscode vim

https://github.com/user-attachments/assets/a2c1c2e9-a759-41bc-9514-5516e66c2fe5

We hope to fix the bug where the VSCode Vim extension correctly displays the replacement but fails to apply it.Additionally, we hope to have highlighted display for matched words,like neovim

  • Extension (VsCodeVim) version: 1.32.4
  • VSCode version: 1.107.0
  • OS: Windows11 25H2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. First reproduce the substitution with "vim.enableNeovim": true using the reported VSCode Vim, VSCode, and Windows versions; done means replacements work consistently for expressions supported by either engine, with matched-word highlighting addressed if included in scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vim, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.