Skip to content
FunCoding

Search

Search docs, Skills and MCP

自定义键位与终端字符

在用户 keybindings.json 添加或解除绑定,处理显式修饰键和终端转换。

This page has not been translated into English yet. The original Chinese version is shown below.

用户键位文件通常位于 ~/.gemini/keybindings.json,内容为对象数组,每项包含 command 与 key。command 使用官方参考表的动作标识,不是 slash command。

添加与解除

[
  {
    "command": "-app.toggleYolo",
    "key": "ctrl+y"
  },
  {
    "command": "input.submit",
    "key": "ctrl+y"
  }
]

command 前加减号解除已有绑定。上例先移除 Ctrl+Y 的 YOLO 动作,再绑定提交;这是自定义示例,并非推荐所有人改变默认行为。

新增绑定不会自动解除其他动作。同一键可在多个上下文使用,覆盖前应检查每个上下文。

修饰键精确匹配

ctrl+f 只匹配该组合,不自动匹配 ctrl+shift+f。支持 ctrl、shift、alt(opt/option 别名)、cmd(meta 别名)。基本键可以是 Unicode 字符,也支持 enter、escape、pageup、f1–f35 等命名键。

终端可能发送字符

例如 Shift+5 可能到 CLI 时已变为 %,macOS Option 组合也可能成为特殊字符。此时应绑定实际字符,而不是收不到的修饰键组合。

在设置中开启 Debug Keystroke Logging,并用 F12 查看实际输入事件后再修改。调试完成后关闭不需要的按键日志。

验证范围

分别在普通输入、补全、对话框和 Shell 焦点验证,确认新绑定没有改变其他重要动作。默认键位变化时,应重新核对解除目标,而不是把旧 keybindings.json 永久视为兼容。