Skip to content

Gemini CLI 内置丰富的键盘快捷键体系,覆盖光标移动(Alt+B/F 按词跳转)、文本编辑(Ctrl+K 删至行尾)、历史搜索(Ctrl+R)、模式切换(Shift+Tab 循环审批模式)到完整 Vim 模式(支持 NORMAL/INSERT 双模式)。所有快捷键均可通过 ~/.gemini/keybindings.json 自定义。

键盘快捷键参考

本页列出 Gemini CLI 的所有默认键盘快捷键,以及自定义绑定的方法。

基础控制

功能快捷键
确认选择Enter
关闭对话框/取消焦点Esc / Ctrl+[
取消请求或退出(空输入时)Ctrl+C
退出 CLI(输入缓冲区为空时)Ctrl+D

光标移动

功能快捷键
移到行首Ctrl+A / Home
移到行尾Ctrl+E / End
向上/向下移动一行Up / Down
向左/向右移动一字符Left / Right
向左移动一个单词Ctrl+Left / Alt+Left / Alt+B
向右移动一个单词Ctrl+Right / Alt+Right / Alt+F

文本编辑

功能快捷键
删除光标到行尾Ctrl+K
删除光标到行首Ctrl+U
清空输入框Ctrl+C
删除前一个单词Ctrl+Backspace / Alt+Backspace / Ctrl+W
删除后一个单词Ctrl+Delete / Alt+Delete / Alt+D
删除左侧字符Backspace / Ctrl+H
删除右侧字符Delete / Ctrl+D
撤销Cmd/Win+Z / Alt+Z
重做Ctrl+Shift+Z / Shift+Cmd/Win+Z

滚动

功能快捷键
向上/向下滚动Shift+Up / Shift+Down
滚到顶部Ctrl+Home / Shift+Home
滚到底部Ctrl+End / Shift+End
向上/向下翻页Page Up / Page Down

历史与搜索

功能快捷键
上一条历史Ctrl+P
下一条历史Ctrl+N
开始反向历史搜索Ctrl+R
提交搜索选项Enter

提示词输入

功能快捷键
提交 PromptEnter
排队(当前任务完成后执行)Tab
插入换行(不提交)Ctrl+Enter / Shift+Enter / Ctrl+J
在外部编辑器打开Ctrl+G
粘贴Ctrl+V / Cmd/Win+V

应用控制

功能快捷键
切换调试控制台F12
切换完整 Todo 列表Ctrl+T
切换 Markdown 渲染Alt+M
切换 YOLO(自动批准)模式Ctrl+Y
循环切换审批模式(Default/Auto-edit/Plan)Shift+Tab
展开/折叠内容块Ctrl+O
清屏重绘Ctrl+L
暂停 CLI 到后台Ctrl+Z

后台 Shell 控制

功能快捷键
切换后台 Shell 列表Ctrl+L
切换当前后台 Shell 可见性Ctrl+B
终止活跃后台 ShellCtrl+K
焦点返回 GeminiShift+Tab

特殊交互

  • !(空输入):进入/退出 Shell Mode
  • ?(空输入):切换快捷键面板
  • \ + Enter(行末):插入换行但不提交
  • Esc 快速按两次:清空输入,或浏览/倒带历史交互
  • Ctrl+X(计划呈现时):在外部编辑器中打开计划文件

Vim 模式

/vimsettings.jsongeneral.vimMode: true 启用。

模式切换

操作快捷键
INSERT → NORMALEsc
NORMAL → INSERT(光标处)i
NORMAL → INSERT(光标后)a
NORMAL → INSERT(行首)I
NORMAL → INSERT(行尾)A
新建行(下方)进 INSERTo
新建行(上方)进 INSERTO
NORMAL 模式清空输入Esc Esc

NORMAL 模式导航

操作
左/下/上/右h / j / k / l
行首/行尾0 / $
第一个非空白字符^
按词向前/向后w / b
跳到首行/末行gg / G
跳到第 N 行NgNgg

支持数字前缀(如 5j 向下 5 行,3w 前进 3 个词)。

NORMAL 模式编辑

操作
删除光标下字符x
删除到行尾D
删除整行dd
修改到行尾C
修改整行cc
撤销u
重复上次命令.

自定义键绑定

~/.gemini/keybindings.json 中添加/修改/移除绑定:

json
[
  {
    "command": "edit.clear",
    "key": "cmd+l"
  },
  {
    "command": "-app.toggleYolo",
    "key": "ctrl+y"
  },
  {
    "command": "input.submit",
    "key": "ctrl+y"
  }
]
  • 命令名前加 - 解除绑定(如 "-app.toggleYolo"
  • 同一键可绑定多个命令,不会自动解除其他绑定
  • 修饰键:ctrl / shift / alt(同义词:optoption)/ cmd(同义词:meta

常见问题

Q: Shift+Tab 在 Windows Terminal 不起作用怎么办?

A: Shift+Tab 在 Node 20 及部分 Node 22 版本的 Windows Terminal 下有已知兼容性问题。建议升级到 Node 22 最新版或 Node 24,或使用 /settings 命令手动切换审批模式。

Q: macOS 的 Option 键快捷键(如 Alt+B)为什么不起作用?

A: macOS Terminal 默认不发送 Option 键的 Meta 序列。需要在终端设置中开启"将 Option 键用作 Meta 键"选项。iTerm2 和其他第三方终端通常默认支持,macOS 自带 Terminal.app 需手动配置。

Q: 如何查看正在发送的实际按键序列?

A: 在设置中开启"Debug Keystroke Logging",然后按 F12 打开调试控制台,可以看到每次按键的实际输入序列。