VSCodeVim / VSCodeVim/Vim

When typing too fast, Vim keystrokes ignored, VS Code does other things

Open
#4,283 4 comments 2 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

Describe the bug

Typing faster than VS Code can update (especially where there's something making VS Code go slower than usual) causes the key strokes to be interpreted as regular VS Code key strokes rather than Vim key strokes.

F.e., if I am typing fast, and the intellisense for some reason takes longer (maybe a bigger project or bigger file, etc) then when I hit cmd-c (ctrl-c in windows) to exit INSERT mode, and then hit j and k to move up or down, then what happens is instead VS Code will insert j and k into the text, instead of moving me up and down.

This happens even with : commands, if I type faster or when VS Code is running slower.

To Reproduce

No specific steps, just type fast, and load lots of plugins to try and make VS Code slower.

Expected behavior

A keystroke should never be missed by VSCodeVim.

Is this VS Code's fault, the way that it allows plugins to intercept keys?

Or is VSCodeVim doing it some different/hacky way that isn't normally supported by plugin API?

(Sidenote, I like Atom's pluggability around this area. in Atom vim-mode-plus it never ever has any issues with keystrokes)

Environment (please complete the following information):

  • Extension (VsCodeVim) version: latest as of today
  • VSCode version: latest as of a couple weeks (but I've been having this issue for like a year since I started using VS Code)
  • OS:macOS

possibly related:

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

Start by reproducing the missed-keystroke behavior while typing quickly with a slow VS Code setup, then compare the findings with related issues 2060 and 2108. The issue provides no files, tests, or entry points; done means keystrokes are not interpreted as ordinary VS Code input during slow or busy conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.