You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下如何在VSCode中将左Command键映射为左Ctrl键?

VSCode中将左⌘Command键映射为Ctrl键的方案

以下方案按你偏好的优先级排序:

1. 无需扩展也无需外部应用(原生配置)

通过VSCode自带的键盘快捷方式配置实现,步骤如下:

  1. 打开键盘快捷方式设置:按下⌘K ⌘S
  2. 点击右上角的「打开键盘快捷方式(JSON)」图标
  3. 在keybindings.json中添加需要映射的组合键示例(可根据自身常用操作补充):
[
  // 基础编辑操作映射
  {
    "key": "cmd+a",
    "command": "editor.action.selectAll",
    "when": "editorTextFocus"
  },
  {
    "key": "cmd+c",
    "command": "editor.action.clipboardCopyAction",
    "when": "editorTextFocus"
  },
  {
    "key": "cmd+v",
    "command": "editor.action.clipboardPasteAction",
    "when": "editorTextFocus"
  },
  // Vim常用Ctrl组合映射
  {
    "key": "cmd+u",
    "command": "vim.ctrlU",
    "when": "editorTextFocus && vim.active && !inDebugRepl"
  },
  {
    "key": "cmd+d",
    "command": "vim.ctrlD",
    "when": "editorTextFocus && vim.active && !inDebugRepl"
  }
]

该方案完全依赖VSCode原生功能,无需额外工具,但需要手动配置常用的组合键。

2. 使用VSCodeVim扩展配置(优先推荐)

针对你正在使用的VSCodeVim,可以通过修改settings.json实现更贴合Vim习惯的映射:

  1. 打开设置:按下⌘,
  2. 点击右上角的「打开设置(JSON)」图标
  3. 添加以下配置:
{
  // 启用Ctrl键模拟,让VSCodeVim识别Cmd键为Ctrl的替代
  "vim.useCtrlKeys": true,
  // 直接将常用的Ctrl命令与Cmd键绑定
  "vim.normalModeKeyBindings": [
    {
      "before": ["<Cmd>", "u"],
      "after": ["<C-u>"]
    },
    {
      "before": ["<Cmd>", "d"],
      "after": ["<C-d>"]
    },
    {
      "before": ["<Cmd>", "w"],
      "after": ["<C-w>"]
    }
  ],
  "vim.insertModeKeyBindings": [
    {
      "before": ["<Cmd>", "a"],
      "after": ["<C-a>"]
    },
    {
      "before": ["<Cmd>", "e"],
      "after": ["<C-e>"]
    }
  ]
}

这种方式直接利用VSCodeVim的配置系统,完美适配你日常的Vim操作习惯。

3. 使用外部应用

如果需要全局或针对VSCode单独实现键位映射,可以使用macOS的Karabiner-Elements工具:

  • 安装Karabiner-Elements后,进入「Complex Modifications」面板
  • 添加「Change left_command key to control key」规则,并设置仅对VSCode应用生效
  • 该工具可以实现系统级或应用级的键位重映射,无需修改VSCode内部配置

内容的提问来源于stack exchange,提问作者Stew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 10:03:26