VSCodeVim / VSCodeVim/Vim

Different cursor shape to indicate that a normal mode command is in the middle of being typed out

Open
#3,003 2 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Is your feature request related to a problem? Please describe.
In (actual) vim, when you press the first key of a multi-key normal mode command, such as d, the cursor changes from block to half-height-block. This is a useful visual indicator that a command has begun. When the command is complete, the cursor changes from half-block to full-block; this is a useful visual indicator that the command has been completed. Ideally VSCodeVim would allow the cursor to take on a different shape for the duration of a command.

Describe the solution you'd like
Ideally VSCodeVim would allow the cursor to change shape when a normal mode command has begun, and change it back when the command has completed. I imagine only VSCode-supported cursor shapes would be possible, so no half-height cursor, but even having the cursor switch from block to block outline would still be an improvement.

Describe alternatives you've considered
An indicator more prominent than the partially typed command in the command line.

Additional context
Cursor is in the top left corner. In the second image it's half-height in response to me pressing d.
image
image

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 provides no file, test, or entry point to begin from. Start by locating how VSCodeVim tracks partially typed normal-mode commands and how it configures the VS Code cursor shape; compare the available cursor styles with the requested state transition. Done means the cursor visibly changes while a command is incomplete and returns to its normal shape when the command completes.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.