跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

自定义键位与终端字符

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

用户键位文件通常位于 ~/.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 永久视为兼容。