必须创建并配置 starship.toml 文件才能自定义 Starship 终端提示符,可行方案包括:一、用 starship init 自动生成;二、手动创建空文件并写入标准头部;三、从 GitHub 下载示例配置;四、用 starship preset 生成预设;五、用 starship config 交互式生成。

如果您希望自定义 Starship 终端提示符的外观与行为,必须创建并配置 starship.toml 文件。该文件是 Starship 的核心配置载体,用于控制模块启用、样式、条件触发等行为。以下是创建 starship.toml 配置文件的多种可行方案:
一、使用 starship init 命令自动生成基础配置
Starship 提供内置命令可快速生成适配当前 Shell 的初始化脚本及默认配置模板,其中包含一个最小可用的 starship.toml 示例结构。
1、在终端中执行 starship init $SHELL(例如 bash 下运行 starship init bash),观察输出中是否包含配置文件路径提示或嵌入式 TOML 片段。
2、将命令输出中明确标注为“配置示例”或以 [prompt] 开头的 TOML 内容复制出来。
3、使用文本编辑器新建文件,粘贴内容,并保存为 ~/.config/starship.toml(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\starship\starship.toml(Windows PowerShell)。
二、手动创建空配置文件并写入标准头部
Starship 在未找到配置文件时会使用内置默认值;手动创建空文件并添加基础结构,可确保后续修改有明确起点,避免因路径或权限问题导致配置不生效。
1、在终端中执行 mkdir -p ~/.config/starship(Linux/macOS)或 mkdir %USERPROFILE%\AppData\Roaming\starship(Windows CMD)。
2、执行 touch ~/.config/starship/starship.toml(Linux/macOS)或使用记事本新建文件并命名为 starship.toml,保存至上述目录。
3、用编辑器打开该文件,在首行写入 # Starship configuration file 作为注释标识,保存退出。
三、从官方 GitHub 仓库下载示例配置
Starship 官方维护了多个经过验证的示例配置,覆盖常见语言、工具链与主题风格,适合直接复用或作为二次编辑的基础。
1、访问 https://github.com/starship/starship/tree/master/docs/examples 页面。
2、选择一个匹配您需求的文件(如 minimal.toml、powerline-style.toml 或 nord.toml)。
3、点击该文件 → 点击 Raw 按钮 → 全选复制全部内容。
4、将内容粘贴至本地 ~/.config/starship/starship.toml(或 Windows 对应路径)并保存。
四、通过 starship preset 命令生成预设配置
Starship v1.10.0+ 引入 preset 子命令,支持基于社区贡献的预设一键生成完整配置,无需手动下载或编辑。
1、确认 Starship 版本不低于 1.10.0:执行 starship --version,若低于则需先升级。
2、列出可用预设:运行 starship preset list,查看返回项如 dracula、gruvbox、onedark 等。
3、生成指定预设:执行 starship preset dracula > ~/.config/starship/starship.toml(Linux/macOS)或 starship preset onedark | Out-File -Encoding utf8 "$env:USERPROFILE\AppData\Roaming\starship\starship.toml"(PowerShell)。
五、使用 starship config 命令交互式生成初始配置
Starship v1.13.0+ 新增 config 子命令,提供引导式问答流程,根据用户选择动态构建 starship.toml 初始内容,降低手动编写门槛。
1、在终端中运行 starship config。
2、按提示依次回答关于启用模块(如 nodejs、git_status)、颜色偏好、显示格式等问题。
3、当出现 Save configuration to ~/.config/starship/starship.toml? 提示时,输入 y 并回车。
4、确认终端输出 Configuration saved successfully. 后,检查目标路径下文件是否存在且非空。