CLI 命令
CLI 命令
Section titled “CLI 命令”Gemini CLI 支持多个内置命令,帮助您管理会话、自定义界面以及控制其行为。这些命令以正斜杠、艾特符号或感叹号作为前缀。
斜杠命令提供了对 CLI 本身的元级别控制。
/bug- 描述: 关于 Gemini CLI 提交一个问题。默认情况下,问题会在 Gemini CLI 的 GitHub 仓库中提交。您在
/bug后输入的字符串将成为提交的 bug 的标题。默认的/bug行为可以通过在您的.gemini/settings.json文件中使用advanced.bugCommand设置来修改。
- 描述: 关于 Gemini CLI 提交一个问题。默认情况下,问题会在 Gemini CLI 的 GitHub 仓库中提交。您在
保存和恢复对话历史
- 描述: 交互式地为分支对话状态保存和恢复对话历史,或从后期的会话中恢复先前状态。
- 子命令:
- 保存对话历史
- 描述: 保存当前对话历史。您必须添加一个标识对话状态的
<tag>。 - 用法:
/chat save <tag> - 关于检查点位置的详细信息: 保存的聊天检查点的默认位置为:
- Linux/macOS:
~/.gemini/tmp/<project_hash>/ - Windows:
C:\Users\<YourUsername>\.gemini\tmp\<project_hash>\ - 行为: 聊天被保存在一个特定于项目的目录中,该目录由您运行 CLI 的位置决定。因此,只有在同一项目中工作时,才能访问保存的聊天。
- 注意: 这些检查点是用于手动保存和恢复对话状态的。有关在文件修改之前创建的自动检查点,请参阅检查点文档。
- Linux/macOS:
- 描述: 保存当前对话历史。您必须添加一个标识对话状态的
- 恢复对话
- 描述: 从先前的保存恢复对话。
- 用法:
/chat resume <tag> - 注意: 您只能恢复在当前项目中保存的聊天。要从不同的项目恢复聊天,您必须从该项目的目录中运行 Gemini CLI。
- 列出可用的标签
- 描述: 列出用于聊天状态恢复的可用的标签。
- 注意: 此命令只列出当前项目中保存的聊天。由于聊天历史是项目范围的,因此在其他项目目录中保存的聊天将不会显示。
- 删除保存的对话检查点
- 用法:
/chat delete <tag>
- 用法:
- 写入当前对话
- 描述 将当前对话写入提供的 Markdown 或 JSON 文件。
- 用法 __COD
- 保存对话历史
如果在命令中没有提供文件名,则 CLI 将自动生成一个。
【翻译】
-
__CODE_BLOCK_23__
- 描述: 清除终端屏幕,包括 CLI 中可见的会话历史记录和回滚。根据具体实现,底层的会话数据(用于历史回忆)可能会被保留,但视觉显示会被清除。
- 键盘快捷键: 在任何时候按下 Ctrl+L 以执行清除操作。
-
__CODE_BLOCK_24__
- 描述: 用总结替换整个聊天上下文。这在未来任务中节省了令牌使用,同时保留了发生事件的高级总结。
-
__CODE_BLOCK_25__
- 描述: 将 Gemini CLI 产生的最后一个输出复制到您的剪贴板,便于分享或重用。
- 注意: 此命令需要安装特定于平台的剪贴板工具。
- 在 Linux 上,它需要 __CODE_BLOCK_26__ 或 __CODE_BLOCK_27__。您通常可以使用系统的包管理器安装它们。
- 在 macOS 上,它需要 __CODE_BLOCK_28__,在 Windows 上,它需要 __CODE_BLOCK_29__。这些工具通常在其各自的系统上预安装。
-
__CODE_BLOCK_30__(或 __CODE_BLOCK_31__)
- 描述: 管理多目录支持的 workspace 目录。
- 子命令:
- __CODE_BLOCK_32__:
- 描述: 将目录添加到工作空间。路径可以是绝对路径或相对于当前工作目录的相对路径。此外,支持从主目录的引用。
- 用法: __CODE_BLOCK_33__
- 注意: 在限制性沙盒配置文件中禁用。如果您使用该配置文件,请在启动会话时使用 __CODE_BLOCK_34__。
- __CODE_BLOCK_35__:
- 描述: 显示由 __CODE_BLOCK_36__ 和 __CODE_BLOCK_37__ 添加的所有目录。
- 用法: __CODE_BLOCK_38__
- __CODE_BLOCK_32__:
-
__CODE_BLOCK_39__
- 描述: 打开一个对话框以选择支持的编辑器。
-
列出当前 Gemini CLI 会话中的所有活动扩展 (
/extensions)- 描述: 列出当前 Gemini CLI 会话中的所有活动扩展。请参阅 Gemini CLI 扩展。
-
显示 Gemini CLI 帮助信息 (
/help或/?)- 描述: 显示 Gemini CLI 的帮助信息,包括可用的命令及其用法。
-
管理配置的 Model Context Protocol (MCP) 服务器 (
__CODE_BLOCK_43)- 子命令:
- 列出配置的 MCP 服务器和工具 (
list或ls)- 描述: 列出配置的 MCP 服务器和工具。如果没有指定子命令,这是默认操作。
- 带描述列出配置的 MCP 服务器和工具 (
desc)- 描述: 带描述列出配置的 MCP 服务器和工具。
- 带描述和架构列出配置的 MCP 服务器和工具 (
schema)- 描述: 带描述和架构列出配置的 MCP 服务器和工具。
- 使用 OAuth 认证与 MCP 服务器进行认证 (
auth)- 用法:
/mcp auth <server-name> - 详情: 如果提供了
<server-name>,它将启动该服务器的 OAuth 流程。如果没有提供服务器名称,它将列出所有支持 OAuth 认证配置的服务器。
- 用法:
- 重启所有 MCP 服务器并重新发现其可用工具 (
refresh)- 描述: 重启所有 MCP 服务器并重新发现其可用工具。
- 列出配置的 MCP 服务器和工具 (
- 子命令:
-
选择 Gemini 模型 (
/model)- 描述: 打开对话框以选择您的 Gemini 模型。
描述: 管理人工智能的教学上下文(从 GEMINI.md 文件加载的分层记忆)。
子命令:
add:- 描述: 将以下文本添加到人工智能的记忆中。用法:
/memory add <text to remember>
- 描述: 将以下文本添加到人工智能的记忆中。用法:
show:- 描述: 显示从所有
GEMINI.md文件加载的当前分层记忆的完整拼接内容。这允许您检查正在提供给 Gemini 模型的教学上下文。
- 描述: 显示从所有
refresh:- 描述: 从配置位置(全局、项目/祖先和子目录)中找到的所有
GEMINI.md文件重新加载分层教学记忆。此命令使用最新的GEMINI.md内容更新模型。
- 描述: 从配置位置(全局、项目/祖先和子目录)中找到的所有
list:- 描述: 列出用于分层记忆的 GEMINI.md 文件的路径。
- 注意: 有关
GEMINI.md文件如何贡献于分层记忆的详细信息,请参阅 CLI 配置文档。
【翻译】
/restore/resume- 描述: 浏览并恢复之前的对话会话。打开一个交互式会话浏览器,您可以在其中搜索、筛选并从自动保存的对话中选择。
- 特性:
- 会话浏览器: 交互式界面显示所有保存的会话,包括时间戳、消息计数和第一条用户消息以提供上下文
- 搜索: 使用
/在所有会话中搜索对话内容 - 排序: 按日期或消息计数对会话进行排序
- 管理: 直接从浏览器删除不需要的会话
- 恢复: 选择任何会话以恢复并继续对话
- 注意: 所有对话在聊天过程中都会自动保存——无需手动保存。有关完整详情,请参阅 会话管理。
【翻译】
-
- 描述: 打开设置编辑器以查看和修改 Gemini CLI 的设置。
- 详情: 此命令提供了一个用户友好的界面,用于更改控制 Gemini CLI 行为和外观的设置。这相当于手动编辑
.gemini/settings.json文件,但具有验证和指导功能以防止错误。有关可用设置的完整列表,请参见 设置文档。 - 用法: 只需运行
/settings,编辑器就会打开。然后您可以浏览或搜索特定设置,查看它们当前的值,并根据需要修改它们。某些设置的更改会立即应用,而其他设置则需要重启。
-
/stats- 描述: 显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用情况、缓存的令牌节省(如有可用)和会话持续时间。注意:只有在使用缓存令牌时才会显示缓存令牌信息,目前在使用 API 密钥认证时会发生,但 OAuth 认证不会。
-
- 描述: 打开一个对话框,让您更改 Gemini CLI 的视觉主题。
-
/auth- 描述: 打开一个对话框,让您更改认证方法。
-
/about- 描述: 显示版本信息。在提交问题时,请分享此信息。
【翻译】
-
- 描述: 显示目前在 Gemini CLI 中可用的工具列表。
- 用法:
/tools [desc] - 子命令:
desc或descriptions:- 描述: 显示每个工具的详细描述,包括模型中提供的每个工具的名称和完整描述。
nodesc或nodescriptions:- 描述: 隐藏工具描述,只显示工具名称。
-
/privacy- 描述: 显示隐私声明,并允许用户选择是否同意为服务改进目的收集他们的数据。
-
/quit(或/exit)- 描述: 退出 Gemini CLI。
代码块
- 描述: 切换 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]
代码块
- 描述: 为了帮助用户轻松创建一个
GEMINI.md文件,此命令分析当前目录并生成一个定制的上下文文件,使他们能够更简单地提供项目特定的说明给 Gemini 代理。
自定义命令允许您为最常使用的提示创建个性化快捷方式。有关如何创建、管理和使用它们的详细说明,请参阅专门的 自定义命令文档。
输入提示快捷键
Section titled “输入提示快捷键”这些快捷键直接应用于文本操作的输入提示。
-
撤销:
- 键盘快捷键: 按下 Ctrl+z 以在输入提示中撤销上一个动作。
-
重做:
- 键盘快捷键: 按下 Ctrl+Shift+Z 以在输入提示中重做最后一个已撤销的动作。
At 命令 (@)
Section titled “At 命令 (@)”At 命令用于将文件或目录的内容作为提示的一部分发送给 Gemini。这些命令包含对 git 的感知过滤功能。
【翻译后的文本】
-
描述: 将指定文件或文件的内容注入当前提示。这对于询问有关特定代码、文本或文件集合的问题非常有用。
- 示例:
@path/to/your/file.txt Explain this text.@src/my_project/ Summarize the code in this directory.What is this file about? @README.md
- 详情:
- 如果提供了单个文件的路径,将读取该文件的内容。
- 如果提供了目录的路径,命令将尝试读取该目录及其任何子目录中的文件内容。
- 路径中的空格应使用反斜杠转义(例如,
@My\ Documents/file.txt)。 - 命令内部使用
read_many_files工具。内容被获取并在发送到 Gemini 模型之前插入到您的查询中。 - Git 感知过滤: 默认情况下,会排除 git 忽略的文件(如
node_modules/、dist/、.env、.git/)。此行为可以通过context.fileFiltering设置更改。 - 文件类型: 该命令适用于基于文本的文件。尽管它可能尝试读取任何文件,但底层
read_many_files工具可能会跳过或截断二进制文件或非常大的文件,以确保性能和相关性。该工具会指示是否跳过了文件。
- 输出: CLI 将显示一个工具调用消息,指示使用了
read_many_files,以及详细的状态和已处理的路径。
- 示例:
-
@(单独的艾特符号)- 描述: 如果您输入了一个单独的
@符号而没有路径,查询将原样传递给 Gemini 模型。如果您的提示中专门在讨论@符号,这可能非常有用。
- 描述: 如果您输入了一个单独的
@ 命令的错误处理
Section titled “@ 命令的错误处理”若指定的路径在@后未找到或无效,将显示错误信息,查询可能不会发送到Gemini模型,或者会在没有文件内容的情况下发送。
如果read_many_files工具遇到错误(例如,权限问题),这也将被报告。
Shell模式和透传命令(!)
Section titled “Shell模式和透传命令(!)”!前缀允许您直接从Gemini CLI中与系统的Shell交互。
-
!<shell_command>- 描述: 使用Linux/macOS上的
bash或Windows上的powershell.exe -NoProfile -Command(除非您覆盖ComSpec)执行给定的<shell_command>。命令的任何输出或错误都会显示在终端中。 - 示例:
!ls -la(执行ls -la并返回到Gemini CLI)!git status(执行git status并返回到Gemini CLI)
- 描述: 使用Linux/macOS上的
-
!(切换Shell模式)- 描述: 单独输入
!可以切换Shell模式。- 进入Shell模式:
- 激活时,Shell模式使用不同的颜色和一个“Shell模式指示器”。
- 在Shell模式下,您输入的文本会直接作为Shell命令解释。
- 退出Shell模式:
- 退出后,UI将恢复到标准外观,正常的Gemini CLI行为继续。
- 进入Shell模式:
- 描述: 单独输入
-
对所有
!使用的警告: 在Shell模式下执行的命令具有与您在终端直接运行它们相同的权限和影响。 -
环境变量: 当通过
!执行命令或在Shell模式下时,在子进程的环境中设置GEMINI_CLI=1环境变量。这允许脚本或工具检测它们是否正在Gemini CLI内运行。