VSCodeVim / VSCodeVim/Vim

Basic commands in Normal mode keep getting appended to the "Pending Command Keys"

Open
#9,203 7 comments 9 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
Seemingly at random, my extension enters a state where I cannot enter commands normally. Instead, they are added to the "pending command keys" list. This list only clears if I tap my escape key twice. Additionally, I cannot enter insert mode unless the list is clear. The only way that I've found to fix this is to restart the extension or to restart VSCode.

To Reproduce
Unfortunately I cannot consistently reproduce this behavior.

Expected behavior
I expect for basic commands like motions not to be added to this command list.

Screenshots
If applicable, add screenshots to help explain your problem.
If remapping-related, please attach log output: https://github.com/VSCodeVim/Vim#debugging-remappings.

Video (See to the left of Rojo on the status bar): https://github.com/user-attachments/assets/c0e8b0a3-fa60-4009-8d7a-1c3c1e9d6539

Environment (please complete the following information):

  • Extension (VsCodeVim) version: 1.27.3

  • VSCode version: 1.92.1

  • OS: Windows 11

Additional context
I have not changed any settings or remapped anything.
I have caps lock bound to Esc with an autohotkey script.

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 at the pending command keys handling and reproduce the issue with VSCode Vim 1.27.3 on Windows 11, using the linked video and the reported Caps Lock-to-Escape AutoHotkey setup as context. Investigate why basic motions are appended and verify that commands and insert mode work without requiring two Escape presses; no file or test is named in the report.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.