VSCodeVim / VSCodeVim/Vim

meta: VS Code Vim becomes very very slow

Open
#9,909 6 comments 8 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

Many people report this plugin slows down.

For me it becomes unbearably slow after a while (f.e. 1 key stroke per second, and they all get backed up while other VS Code actions can happen mid-way causing jumbled results).

Possibly related:

(I went to page 2 only, for both open and closed issues, searching "slow")

Related:

It might be "Microsoft's" fault for the extension API design? From https://github.com/VSCodeVim/Vim/issues/4598#issuecomment-591769018:

FWIW, I just tried amVim and it has the same issue. Perhaps the Extension Host is to blame for this? I would not be surprised, I think the Extension Host is garbage, and causes way more problems than it was intended to solve. (VSCodeVim commands do have to run in the separate extension host process right? It's pretty ridiculous for every key press to be doing IPC roundtrips, which is why I hate the Extension Host architecture for giving you no other option...)

I switched to Simple Vim

and it is a lot smoother.

In insert mode, it's just native VS Code, and the plugin listens only for Escape to go back to Normal mode. It's not as full featured, but enough for me to get productive without slowdowns, and to save my sanity.

Simple Vim still suffers from the same issues (seems like Extension Host), but it's doing a lot less so the issues aren't as pronounced.

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

The issue does not name files, tests, or an entry point. Start by reproducing the slowdown and comparing the linked reports, especially the Extension Host and keypress behavior described here. Done should mean identifying a specific, actionable cause and a verified performance improvement.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
devtools, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.