Skip to content

Gemini CLI 提供 17 款内置主题(10 款暗色、7 款亮色),用 /theme 命令交互式选择;还支持在 settings.jsoncustomThemes 块中完全自定义配色,覆盖背景、文字、边框、状态色等所有 UI 元素。也可以从 JSON 文件加载主题,方便团队共享配色方案。

主题定制

Gemini CLI 支持丰富的主题定制,从内置的经典配色方案到完全自定义的颜色调板,让终端界面更符合你的偏好。

切换主题

交互式选择

在 CLI 中输入:

/theme

出现主题选择对话框,用方向键浏览,选中后按 Enter 确认。选择的主题会自动保存,下次启动仍然生效。

注意:如果 settings.json 中已通过 "theme" 字段设置了主题,需要先从配置文件中删除该字段,才能用 /theme 命令切换。

通过配置文件设置

settings.jsonui 对象中设置:

json
{
  "ui": {
    "theme": "Dracula"
  }
}

内置主题列表

暗色主题

主题名特点
DefaultGemini 默认暗色方案
ANSI标准终端 ANSI 颜色
Atom One仿 Atom Editor 配色
Ayu简洁暖色系暗色主题
Dracula经典紫色系,开发者最爱
GitHub仿 GitHub 暗色模式
Holiday节日风格配色
Shades Of Purple紫色渐变系
Solarized DarkSolarized 经典暗色
Tokyo Night东京夜景风格,蓝紫色系

亮色主题

主题名特点
Default LightGemini 默认亮色方案
ANSI Light标准终端亮色
Ayu Light暖白色系
GitHub Light仿 GitHub 亮色模式
Google CodeGoogle 代码风格
Solarized LightSolarized 经典亮色
Xcode仿 Xcode 编辑器

自定义配色方案

在 settings.json 中定义

settings.jsonui.customThemes 块中创建自定义主题:

json
{
  "ui": {
    "customThemes": {
      "MyTheme": {
        "name": "MyTheme",
        "type": "custom",
        "background": {
          "primary": "#181818",
          "diff": {
            "added": "#2b3312",
            "removed": "#341212"
          }
        },
        "text": {
          "primary": "#f0f0f0",
          "secondary": "#a0a0a0",
          "link": "#83a598",
          "accent": "#d3869b"
        },
        "border": {
          "default": "#3c3836",
          "focused": "#458588"
        },
        "status": {
          "success": "#b8bb26",
          "warning": "#fabd2f",
          "error": "#fb4934"
        },
        "ui": {
          "comment": "#928374",
          "symbol": "#8ec07c",
          "gradient": ["#cc241d", "#d65d0e", "#d79921"]
        }
      }
    }
  }
}

必填字段

  • name:与 customThemes 的键名一致
  • type:固定为 "custom"

颜色值支持 hex(#FF0000)或 CSS 颜色名称(coralteal)。

配色对象说明

配置组字段说明
textprimary默认文字颜色
textsecondary次要文字(低调信息)
textlink链接和 URL
textaccent强调和高亮
textresponseAI 响应文字(优先于 primary)
backgroundprimary主背景色
backgrounddiff.addeddiff 新增行背景
backgrounddiff.removeddiff 删除行背景
borderdefault标准边框
borderfocused聚焦状态边框
statussuccess成功操作指示
statuswarning警告指示
statuserror错误指示
uicomment代码注释颜色
uisymbol代码符号和运算符
uigradient渐变效果颜色数组

从文件加载主题

可以把主题定义存在单独的 JSON 文件中,方便团队共享:

json
// settings.json
{
  "ui": {
    "theme": "/path/to/gruvbox-dark.json"
  }
}

主题文件格式与 customThemes 中的对象定义完全相同。

安全限制:只能加载 home 目录下的主题文件,防止加载来自不可信路径的恶意主题。

自动主题切换

Gemini CLI 可以根据终端背景色自动切换亮/暗主题:

json
{
  "ui": {
    "autoThemeSwitching": true
  }
}

启用后,当终端处于亮色模式时自动切换到亮色主题,反之切换暗色主题。

下一步

常见问题

Q: 自定义主题定义了多少字段才够用?

A: 建议至少提供 background.primarytext.primarytext.secondary,以及 text.linktext.accentstatus 的颜色,确保 UI 显示协调。其他字段可以省略,缺省时会使用 Default 主题的对应颜色。

Q: 主题切换会影响 AI 的输出吗?

A: 不会。主题只影响 CLI 界面的视觉呈现,与 AI 模型的响应内容完全无关。

Q: 可以在不同项目使用不同主题吗?

A: 可以。在项目的 .gemini/settings.json 中设置 ui.theme 字段,会覆盖全局主题设置,该主题只在当前项目的会话中生效。