CLI 命令
Gemini CLI 提供多种内置命令,帮助你管理会话、定制界面与控制行为。这些命令以斜杠(/)、@ 符号(@)或感叹号(!)开头。
斜杠命令(/)
斜杠命令用于对 CLI 进行元级别的控制。
内置命令
-
/bug- 说明: 用于反馈 Gemini CLI 问题。默认会在 Gemini CLI 的 GitHub 仓库创建 Issue。
/bug后面输入的字符串将作为 Issue 标题。可通过.gemini/settings.json中的advanced.bugCommand修改默认行为。
- 说明: 用于反馈 Gemini CLI 问题。默认会在 Gemini CLI 的 GitHub 仓库创建 Issue。
-
/chat- 说明: 保存与恢复对话历史,支持交互式分支会话或在后续会话中恢复状态。
- 子命令:
save- 说明: 保存当前对话历史,需要提供
<tag>作为标识。 - 用法:
/chat save <tag> - Checkpoint 存储位置:
- Linux/macOS:
~/.gemini/tmp/<project_hash>/ - Windows:
C:\Users\<YourUsername>\.gemini\tmp\<project_hash>\ /chat list仅会扫描上述目录以查找可用 checkpoint。- 备注: 这些 checkpoint 用于手动保存/恢复对话;若需要在文件修改前自动保存,请参阅 Checkpointing 文档。
- Linux/macOS:
- 说明: 保存当前对话历史,需要提供
resume- 说明: 从指定标签恢复对话。
- 用法:
/chat resume <tag>
list- 说明: 列出可用的对话标签。
delete- 说明: 删除某个已保存的对话 checkpoint。
- 用法:
/chat delete <tag>
share- 说明: 将当前会话写入指定 Markdown 或 JSON 文件。
- 用法:
/chat share file.md或/chat share file.json;若未提供文件名,CLI 会自动生成。
-
/clear- 说明: 清空终端屏幕,包括可见会话记录与滚动区域。底层会话数据(用于历史回溯)可能仍被保留,但界面显示会被清除。
- 快捷键: 随时按 Ctrl+L。
-
/compress- 说明: 将当前对话上下文压缩为摘要,在保留关键信息的同时节省后续任务的 Token。
-
/copy- 说明: 将 Gemini CLI 最近一次输出复制到剪贴板,方便分享或复用。
- 注意: 依赖操作系统的剪贴板工具。
- Linux 需要
xclip或xsel(可通过包管理器安装)。 - macOS 需要
pbcopy,Windows 需要clip(通常已预装)。
- Linux 需要
-
/directory(或/dir)- 说明: 管理多目录工作区。
- 子命令:
add- 说明: 向工作区添加目录,路径可为绝对路径、相对路径或
~开头的家目录引用。 - 用法:
/directory add <path1>,<path2> - 备注: 在受限沙箱配置中不可用;若是这种场景,可在启动会话时使用
--include-directories。
- 说明: 向工作区添加目录,路径可为绝对路径、相对路径或
show- 说明: 显示通过
/directory add与--include-directories添加的所有目录。 - 用法:
/directory show
- 说明: 显示通过
-
/editor- 说明: 打开编辑器选择对话框,列出可用编辑器。
-
/extensions- 说明: 列出当前会话启用的所有扩展。详见 Gemini CLI 扩展。
-
/help(或/?)- 说明: 显示 Gemini CLI 的帮助信息,包括可用命令及用法。
-
/mcp- 说明: 列出配置的 Model Context Protocol (MCP) server,其连接状态、详情与可用工具。
- 子命令:
desc/descriptions:显示 MCP server 与工具的详细描述。nodesc/nodescriptions:隐藏描述,仅显示工具名称。schema:显示工具参数的完整 JSON Schema。
- 快捷键: 按 Ctrl+T 可切换显示/隐藏工具描述。
-
/memory- 说明: 管理 AI 的指令上下文(来自层级式
GEMINI.md)。 - 子命令:
add:向记忆中添加文本。用法:/memory add <text>。show:显示当前加载的所有GEMINI.md内容的拼接结果,便于检查提供给模型的指令。refresh:重新加载所有位置(全局、项目/祖先目录、子目录)的GEMINI.md,确保模型使用最新指令。list:列出用于层级记忆的GEMINI.md文件路径。- 备注: 关于
GEMINI.md如何作用于层级记忆,请参阅配置文档。
- 说明: 管理 AI 的指令上下文(来自层级式
-
/restore- 说明: 将项目文件恢复到某个工具执行前的状态,适合撤销工具带来的文件修改。若不带参数,会列出可用的 checkpoint。
- 用法:
/restore [tool_call_id] - 备注: 仅在使用
--checkpointing启动或通过配置启用后可用,详见 Checkpointing 文档。
-
/settings- 说明: 打开设置编辑器,查看并修改 Gemini CLI 的配置。
- 详情: 提供比手动编辑
.gemini/settings.json更友好的方式,并带有校验与提示以避免错误;部分配置即时生效,另一些需要重启。
-
/stats- 说明: 显示当前会话的详细统计信息,包括 Token 使用量、缓存 Token 节省(如适用)以及会话时长。注意:仅在使用 API key 且启用 Token 缓存时会展示缓存数据,OAuth 模式目前不支持。
-
- 说明: 打开主题选择对话框,切换 CLI 的视觉主题。
-
/auth- 说明: 打开身份验证方式选择对话框。
-
/about- 说明: 显示版本信息。提交 Issue 时请附上此信息。
-
- 说明: 列出当前可用的工具。
- 用法:
/tools [desc] - 子命令:
desc/descriptions:显示每个工具的详细描述(即提供给模型的说明)。nodesc/nodescriptions:隐藏描述,仅显示工具名称。
-
/privacy- 说明: 展示隐私声明,并让用户选择是否同意用于服务改进的数据收集。
-
/quit(或/exit)- 说明: 退出 Gemini CLI。
-
/vim- 说明: 切换 Vim 模式。在 Vim 模式下,输入框支持 NORMAL / INSERT 两种模式的 Vim 操作。
- 特性:
- NORMAL 模式:
h、j、k、l导航;w、b、e按词跳转;0、$、^行首行尾;G/gg跳转到指定行。 - INSERT 模式: 常规输入,按
Esc返回 NORMAL。 - 编辑命令:
x删除、c修改、i/a/o/O插入,支持dd、cc、dw、cw等组合。 - 计数支持: 可在命令前加数字(如
3h、5w、10G)。 - 重复上次操作: 使用
.重复上一编辑动作。 - 持久化设置: Vim 模式偏好会写入
~/.gemini/settings.json,在会话间保持。
- NORMAL 模式:
- 状态指示: 启用后页脚会显示
[NORMAL]或[INSERT]。
-
/init- 说明: 帮助用户快速生成
GEMINI.md:命令会分析当前目录,生成定制化上下文文件,方便为 Gemini 代理提供项目说明。
- 说明: 帮助用户快速生成
自定义命令
自定义命令可以为常用提示创建专属快捷方式。创建、管理与使用方法请参阅自定义命令文档。
输入提示快捷键
以下快捷键适用于输入框,用于文本编辑:
-
撤销:
- 快捷键: 按 Ctrl+Z。
-
重做:
- 快捷键: 按 Ctrl+Shift+Z。
@ 命令(@)
@ 命令用于在 Prompt 中包含文件或目录内容,同时具备 Git 过滤能力。
-
@<文件或目录路径>- 说明: 将指定文件(或目录中的文件)内容注入当前 Prompt,适合就特定代码、文本或文件集合提问。
- 示例:
@path/to/your/file.txt 请解释这段文本。@src/my_project/ 请总结该目录中的代码。这个文件主要内容是什么? @README.md
- 细节:
- 指向单个文件时,读取该文件内容;指向目录时,会尝试读取该目录及子目录下的文件。
- 路径中如有空格需使用反斜杠转义(如
@My\ Documents/file.txt)。 - 命令底层使用
read_many_files工具,会先获取内容再与问题一同发送给模型。 - Git 过滤: 默认跳过 Git 忽略的文件(如
node_modules/、dist/、.env、.git/),可通过context.fileFiltering设置调整。 - 文件类型: 主要用于文本文件。若文件为二进制或体积巨大,底层可能跳过或截断;工具会提示跳过情况。
- 输出: CLI 会展示
read_many_files的调用信息及处理的路径。
-
单独的
@- 说明: 若仅输入
@而无路径,请求会原样发送给模型。适用于在 Prompt 中讨论@符号本身的情况。
- 说明: 若仅输入
@ 命令的错误处理
- 若路径不存在或无效,会显示错误信息,并可能不向模型发送文件内容。
- 若
read_many_files遇到权限等问题,也会返回错误。
Shell 模式与 ! 命令
! 前缀允许在 Gemini CLI 内直接执行系统 Shell 命令。
-
!<shell_command>- 说明: 执行指定命令。在 Linux/macOS 使用
bash,在 Windows 使用cmd.exe,其标准输出与错误会显示在终端。 - 示例:
!ls -la!git status
- 说明: 执行指定命令。在 Linux/macOS 使用
-
单独的
!(切换 shell 模式)- 说明: 输入单独的
!可进入或退出 shell 模式。- 进入 shell 模式: 界面会改变颜色并显示 “Shell Mode Indicator”,此时输入会被视为 shell 命令。
- 退出 shell 模式: UI 恢复,CLI 回到正常模式。
- 说明: 输入单独的
-
使用提醒: 在 shell 模式执行的命令拥有与你在终端直接运行时相同的权限与影响。
-
环境变量: 在
!命令或 shell 模式执行时,子进程环境中会设置GEMINI_CLI=1,方便脚本识别自己运行于 Gemini CLI 内。