VSCodeVim / VSCodeVim/Vim

Support Meta/Super/Option instead of Control Key for Ctrl Key based vim Operations

Open
#3,301 12 comments 33 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

Problem
Many important shortcuts are mapped to Control Key in VSCode by default and at the same time, Control Keys play a important role in Vim Operations. I can't ditch control keys in favour of VSCodeVim or the other way also. I got this issue as I am moving from Mac to Linux where is no Command Key and Ctrl key like options.

Idea
So instead of completely relaying on Ctrl keys, Meta/Option keys can be used for Vim operations instead of control keys. Like for Example, Meta+s to split the editor instead of "Ctrl+s".

Alternatives
I tried to implement this myself but it seems like all shortcuts are hard coded in package.json. Besides, I couldn't understand the code due to lack of documentation. If this idea is not taken or seems useless, please just guide me where to start so that, I would implement it someday as per my need.

Additional Context
I got this problem while switching from Mac to Linux based OS (Debian). In Mac, Almost all VSCode
operations use Command Key and Control key is left unused. In that scenario, VsCodeVim taking full control over Ctrl Key seemed very very effective. I am not losing any functionality of vim and at the same time, all VSCode specific shortcuts are working via Command Key.

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 the hard-coded shortcuts in package.json and the surrounding extension documentation, which the issue identifies as difficult to follow. Map the requested Meta/Option alternatives to the existing Ctrl-based Vim operations, then verify that the requested operations work without removing the current behavior.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.