VSCodeVim / VSCodeVim/Vim

Remap ⌘ (Command) to Ctrl when VSCodeVim is active

Open
#8,878 0 comments 0 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

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.