Remap ⌘ (Command) to Ctrl when VSCodeVim is active
Nobody has claimed this yet.
- 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.
I'm a Vim user who developed muscle-memory on PC-style keyboards. When I switched to Apple-style keyboards, I used the iTerm2 configuration option to remap Left-⌘ to Left-Ctrl. Many critical Vim features depend on Ctrl- chords, but switching to VSCode with VSCodeVim, I found no equivalent configuration option, resulting in a situation where I am entering many erroneous ⌘- chords when I intend to enter Ctrl- chords.
Describe the solution you'd like
The ideal solution for me would be a configuration option where VSCodeVim will remap Left-⌘ to Left-Ctrl for any context in which it is actively interpreting my keystrokes in a Vim way.
It would be ideal to remap the Left-⌘ and/or Right-⌘ independently, not both, since it is still important to have a ⌘ key available in whatever context. The implementation in iTerm2 works great, so it might be a useful reference.
Describe alternatives you've considered
I have looked at VSCode built-in options and not found any such option. I have considered 3rd-party applications, but installing these is not possible on my employer-issued computer.
Additional context
See also this StackOverflow question.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how VSCodeVim interprets keystrokes in Vim contexts and how VS Code exposes Command and Ctrl keybindings on macOS. Use the iTerm2 behavior and linked StackOverflow question as reference, then define how left and right Command remapping should be configured independently and when the remapping applies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100