anthropics / anthropics/claude-code
[FEATURE] Vim mode: change cursor appearance based on insert/normal mode
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
## Problem Statement
When using vim editor mode, the cursor appearance doesn't change between insert and normal modes. In true vim editors, the cursor typically changes from a block (normal) to a beam/bar (insert), providing visual feedback about the current mode.
## Proposed Solution
Add cursor appearance configuration that adapts based on vim mode:
- Normal mode: block cursor
- Insert mode: beam/bar cursor
This could be controlled via `settings.json` and the `/settings` UI, or automatically when `editorMode: vim` is configured.
## Related Issues
- #20878 - General cursor style customization request
- #16086 - Earlier cursor style configuration request
- #10215 - Earlier cursor style customization request
## Use Case
Vim users expect visual mode indicators. This helps users quickly identify whether they're in insert or normal mode without relying on other indicators (statusline, etc.).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing Vim-mode handling, terminal cursor rendering, and the settings.json and /settings entry points mentioned in the issue. Determine how mode changes are represented and where cursor appearance can be configured. Done means normal mode shows a block cursor and insert mode shows a beam or bar, with the supported configuration path covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- vim
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100