Starship Tokyo Night 预设:为任意 Shell 打造夜航蓝紫风 Powerline 提示符

发布时间:2026/9/9 13:24:15

Starship Tokyo Night 预设:为任意 Shell 打造夜航蓝紫风 Powerline 提示符 Starship Tokyo Night 预设为任意 Shell 打造夜航蓝紫风 Powerline 提示符【免费下载链接】starship☄️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship本文以 Starship 官方仓库中的 Tokyo Night 预设文档英文原文本仓库多语言镜像见 docs/pl-PL/presets/tokyo-night.md为骨架结合仓库内置的完整预设配置与源码实现讲解如何安装、理解并二次定制这一社区预设。读完本文你将掌握starship preset命令的完整用法、Tokyo Night 配色的分块结构与每一行 TOML 的含义并能基于内置模块轻松改出属于自己的配色方案。预设是什么社区提交的配色配置集合Starship 官方仓库在 docs/presets/README.md 中维护了一套「社区预设Presets」它们不是独立的代码模块而是由社区成员提交、随仓库文档一起发布的一组组现成starship.toml配置片段。每个预设对应一份独立的说明页面与截图例如 Nerd Font Symbols、No Nerd Fonts、Pastel Powerline、Gruvbox Rainbow、Catppuccin Powerline 等。Tokyo Night 就是其中之一它的配色灵感来自同名 VS Code 配色主题 tokyo-night-vscode-theme目标是把编辑器里那种低饱和度的深蓝紫「夜航」色调延伸到终端提示符上。预设对应的完整配置存放于 docs/public/presets/toml/tokyo-night.toml其文档说明、下载链接与预览截图则统一维护在 docs/presets/tokyo-night.md并翻译成多国语言如波兰语版本 tokyo-night.md。本文引用的所有相对路径均从仓库根目录出发。前置条件终端必须启用 Nerd FontTokyo Night 预设对字体有硬性要求你需要先在系统里安装一款 Nerd Font并在终端模拟器的设置中把它启用为当前字体。原因很直观——查看下面的完整配置会发现预设大量使用了 Nerd Font 字库中的特殊字形与图标包括Powerline 分段箭头字形UE0B4用于制造不同色块间的斜切过渡目录替换用图标、、、等各运行时图标与 Git 分支图标、、、、等。如果终端没有使用 Nerd Font这些字形会退化为方框tofu或普通字符提示符的视觉效果将完全丧失。即使 Nerd Font 已安装也务必在终端模拟器的偏好设置中显式选中它——只替换系统字体、不修改终端字体配置是不够的。若你希望完全不依赖 Nerd Font仓库还提供了 No Nerd Fonts 预设 供参考。一键应用starship preset命令用法Tokyo Night 说明文档给出的核心安装命令只有一行starship preset tokyo-night -o ~/.config/starship.toml其效果是从编译进 Starship 二进制内的预设清单中取出名为tokyo-night的预设内容并写入~/.config/starship.toml作为你的用户配置。该子命令的参数定义位于 src/main.rs完整可用形式如下参数含义starship preset tokyo-night将预设内容打印到标准输出不写文件可配合 shell 重定向手动控制输出位置-o, --output 文件路径将预设写入指定文件而非标准输出如~/.config/starship.toml-f, --force目标文件已存在时强制覆盖必须与-o配合使用-l, --list列出当前二进制内置的所有预设名称便于确认你的版本包含 Tokyo Night例如先用--list确认预设可用再以非覆盖方式查看内容starship preset --list starship preset tokyo-night写入与覆盖行为由 src/print.rs 中的preset_command实现有output时调用crate::utils::write_file_atomic(output, content, force)原子写入未指定output时则把内容写到 stdout。这意味着当目标文件已存在且未加-f时写入会失败避免你无意中覆盖手头已有的自定义配置——如果你已经写过自己的starship.toml建议先备份再执行。同样可以手动把预设重定向到配置文件效果等价于上面的-o写法starship preset tokyo-night ~/.config/starship.toml说明~/.config/starship.toml是 Unix 系 Shell 的默认用户配置路径若你设置了STARSHIP_CONFIG环境变量指向自定义路径则上面的目标路径应相应替换。应用后新开一个终端窗口或执行exec $SHELL即可看到效果。预设内容也可以直接以文件形式获取仓库内的 docs/public/presets/toml/tokyo-night.toml 即其原始配置可作离线备份或人工审阅。完整配置逐段拆解Tokyo Night 预设的完整 TOML 内容如下出自 docs/public/presets/toml/tokyo-night.toml共约 106 行。它没有改动任何模块的探测逻辑与默认行为之外的内容全部精力都花在「配色 布局」上因此非常适合作为学习 Starshipformat字符串与样式语法的范本。$schema https://starship.rs/config-schema.json format [░▒▓](#a3aed2)\ $os\ \ $directory\ \ $git_branch\ $git_status\ \ $nodejs\ $bun\ $rust\ $golang\ $php\ \ $time\  \ \n$character [directory] style fg:#e3e5e5 bg:#769ff0 format $path truncation_length 3 truncation_symbol …/ [directory.substitutions] Documents Downloads  Music Pictures [git_branch] symbol  style bg:#394260 format [ $symbol $branch ]($style) [git_status] style bg:#394260 format [($all_status$ahead_behind )]($style) [jj_bookmark] symbol  style bg:#394260 format [ $symbol $bookmark($remote)$diverged( \(\$overflow_count others\)) ]($style) [nodejs] symbol  style bg:#212736 format [ $symbol ($version) ]($style) [bun] symbol  style bg:#212736 format [ $symbol ($version) ]($style) [rust] symbol  style bg:#212736 format [ $symbol ($version) ]($style) [golang] symbol  style bg:#212736 format [ $symbol ($version) ]($style) [php] symbol  style bg:#212736 format [ $symbol ($version) ]($style) [time] disabled false time_format %R # Hour:Minute Format style bg:#1d2230 format [  $time ]($style) [os] style bg:#a3aed2 fg:#090c0c format $symbol disabled false [os.symbols] Windows Ubuntu SUSE  Raspbian Mint Macos Manjaro  Linux Gentoo Fedora Alpine  Amazon  Android  AOSC  Arch Artix EndeavourOS  CentOS  Debian Redhat RedHatEnterprise Pop 1. 顶层format决定整条提示符的骨架Starship 的顶层format字符串以$开头的变量引用各内置模块模块之间允许用任意文本与带样式的片段连接从而实现高度自定义的「Powerline 式」分段提示符。Tokyo Night 的做法可概括为一条五级背景色渐变阶梯每个层级之间用一个的箭头片段衔接从而把相邻色块的边界切成平滑斜线。显示阶段模块背景色文本/前景色段首渐变装饰░▒▓$os#a3aed2#090c0c目录段$directory#769ff0#e3e5e5Git 段$git_branch、$git_status#394260#769ff0运行时段$nodejs、$bun、$rust、$golang、$php#212736#769ff0收尾段$time#1d2230#a0a9cb观察其中的分隔片段写法第一段起始用[░▒▓](#a3aed2)画出一个与os同底色的渐变装饰目录段结束后用进入 Git 段的#394260背景之后的每个$runtime模块背景相同#212736因此运行时图标与版本在视觉上连成一块全部置于深色区域。这段format还透露出一个重要设计取舍只有当工作目录检测到对应运行时nodejs/bun/rust/golang/php时才渲染相应片段——Starship 各模块本身就有「未检测到对应工具链则静默不显示」的机制所以format中罗列多个运行时是安全且常见的写法。若你还希望显示其他语言如 Python、Java需在对应位置自行加入$python、$java等模块变量仓库源码 src/configs/mod.rs 中按顺序定义了全部内置模块。$character负责在换行后绘制输入提示符。2.[directory]路径目录段directory模块被配置为亮蓝色块#769ff0浅色文字#e3e5e5format $path 只用$path变量而非默认的$path$read_only等组合truncation_length 3长路径最多从当前目录往回保留 3 级再深的部分交给truncation_symbol省略truncation_symbol …/用省略号加斜杠表示被截断的上级路径。[directory.substitutions]表则把常见顶层目录名替换为对应语义的图标Documents 等。这是 Starship 目录替换功能的典型用法——替换规则按目录名精确匹配适用于把固定工作目录显示为图标或简称的场景。若目录层级较深配合truncation_length 3提示符会优先保留当前目录层级。3.[git_branch]与[git_status]Git 状态段Git 段处于中间色阶#394260其文本通过内层嵌套样式fg:#769ff0呈现为亮蓝与目录段的#769ff0呼应symbol 分支图标取自 Nerd Fontformat [ $symbol $branch ]($style)外层$style兜底整个段背景内层方括号单独覆盖前景色git_status的$all_status展示未提交/未跟踪等状态摘要$ahead_behind展示与远端分支的领先/落后计数。仓库还顺带为 Jujutsu 版本控制用户预置了[jj_bookmark]样式与 git_branch 完全一致。从源码结构看它对应 Starship 对 Jujutsu 书签的支持若你使用jj并在format中加入$jj_bookmark即可沿用同一配色。4.$nodejs/$bun/$rust/$golang/$php运行时版本段五个运行时模块共用同一套模板背景#212736、图标各自取自 Nerd Font、格式均为[ $symbol ($version) ]($style)。它们的共同点是只在当前目录存在对应工具链时才出现因此深色区域可能显示一个、多个或全部运行时图标。该块是 Tokyo Night 预设「无打扰」理念的集中体现——不需要的版本信息不会占位。5.[time]与[os]两侧的细节模块time与os在 Starship 默认配置中通常处于关闭状态此处都显式置为disabled false[time]time_format %R输出 24 小时制的小时:分钟注释# Hour:Minute Format也点明了这一点显示在整条提示符最深的#1d2230色块上文字为灰蓝#a0a9cb图标为时钟[os]在段首#a3aed2浅紫色块上绘制系统图标文字#090c0c近黑色保证对比度[os.symbols]表为各操作系统逐一指定了图标字形macOS、Arch、Ubuntu、Debian、Windows 等均有覆盖。从源码看预设的编译与分发机制Tokyo Night 预设的使用方式之所以如此简单是因为所有预设的 TOML 文件在编译 Starship 时就被直接嵌入二进制starship preset无需联网、无需额外资源目录即可输出。预设清单生成仓库根目录的 build.rs 定义了gen_presets_hook。构建时它会读取docs/public/presets/toml/目录下每个*.toml文件按文件名去掉.toml后缀生成get_preset_list()——返回全部预设名数组Tokyo Night、Gruvbox Rainbow 等 12 个社区预设都在其中get_preset_content(name)——用include_str!把每个 TOML 内容在编译期嵌入源码构成tokyo-night include_str!(...toml 路径)的匹配分支。同时打印cargo:rerun-if-changeddocs/public/presets/toml保证新增或修改预设后会触发重新构建。CLI 参数解析src/main.rs 中Preset子命令的name字段声明为value_enum类型print::Preset其合法取值正是运行时由shadow::get_preset_list()提供的预设名。命令执行src/print.rs 的preset_command收到-l时打印预设名列表否则调用get_preset_content取得内容按是否指定-o分别走原子写文件或标准输出。对应测试src/print.rs验证了预设列表非空、默认输出不 panic、-o写文件内容与docs/public/presets/toml/*.toml完全一致以及已有文件需force才可覆盖等行为。上述实现细节意味着预设列表由你当前安装的 Starship 版本决定——若版本过旧--list中可能没有tokyo-night而无论版本新旧文中提供的完整 TOML 都可以作为配置文件直接使用。安装后的验证与常见问题排查确认配置已生效新开一个终端窗口或执行exec $SHELL重新加载提示符。若仍显示旧样式检查~/.config/starship.toml是否确实被写入也可用starship print-config查看最终生效的计算配置。出现方框/问号图标说明 Nerd Font 未安装或终端仍未启用它。请返回「前置条件」小节核对如果只是个别字符异常确认所选 Nerd Font 版本较新。覆盖自己已有配置失败preset -o在目标文件存在时默认拒绝写入需要显式加-f参见前文的参数表。从源码看这是 src/utils 中原子写入的force语义属于刻意为之的保护行为。按需微调从 Tokyo Night 到你的专属配色Tokyo Night 的模块拆分非常规整改造成其他主题非常容易。以下几条通用思路均可直接套用更换整条色带只需修改顶层format中各分隔片段与各模块style的十六进制色值。例如想把 Git 段从#394260换成青色#005757同步改[git_branch]、[git_status]、[jj_bookmark]的style以及前后两个[]分隔片段的bg/fg即可。增删模块在format中按需插入或移除$python、$java、$docker_context等变量并仿照现有运行时段为其补充一个带style、symbol、format的模块小节。调整省略深度把[directory]的truncation_length改为更大值以显示更长路径。修改时间格式将time_format换成%T含秒或%H:%M等任意 chrono 格式字符串。保留备份再覆盖应用官方预设前先把现有starship.toml复制一份之后再用-f覆盖避免丢失自定义内容。更多预设本预设是 docs/presets/README.md 社区预设集合中的一员。想横向对比配色或寻找灵感可继续阅读同一目录下的 Gruvbox Rainbow灵感同样来自 Tokyo Night 与 Pastel Powerline、Pastel Powerline同时展示目录替换进阶用法、Catppuccin PowerlineCatppuccin 色板以及无 Nerd Font 依赖的 No Nerd Fonts。这些说明页面均随仓库提供了多语言翻译与可直接复制的 TOML 文件。【免费下载链接】starship☄️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/9 13:24:15

DeepSpace 实践指南:用本地代理调试 DeepSeek API 请求

DeepSpace 实践指南:用本地代理调试 DeepSeek API 请求 【免费下载链接】awesome-deepseek-integration Integrate the DeepSeek API into popular software 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-deepseek-integration 本文围绕 docs/…

2026/9/9 13:24:15

从零构建hermes-agent:开源模型工具调用与本地部署实战

说起 hermes-agent 这个标题,很多人第一反应是古希腊神话里的神使赫尔墨斯,整天背着翅膀到处传话。但在大模型这个圈子里,Hermes 倒还真有点"传话使者"的味道——它是一套能把指令、工具、上下文在模型和应用之间来回传递的开源模型…

2026/9/9 15:14:38

python-docx实现Word关键词批量高亮标注的完整指南

简介:这是一份面向 Python 初学者的 docx 文档关键词标注工具,解决在 Word 文档中批量查找并标注指定关键词的问题。资源提供完整 Python 脚本,并在主函数内置两个示例:既可直接标注 document.docx 中的 Hello、World 等单词&…

2026/9/9 15:14:38

Spring Boot整合MinIO:从安装部署到文件上传下载实战

从“本地磁盘不够用了”到“想搭个私有云盘”,再到“项目里要接一个文件服务”,MinIO 都是我第一个想到的东西。作为一款兼容 Amazon S3 协议的对象存储,它部署简单、社区活跃,而且用起来还算顺手。前阵子我用 Spring Boot 整合了…

2026/9/9 15:09:37

2026专科生降AI率平台推荐,实测三款不踩坑

专科毕业论文的AI检测要求逐年收紧,不少院校已把“AI率低于30%”列为送审硬性门槛。查重过了但AI率超标、学校只给一次修改机会——这类情况在专科生里越来越常见。降AI率这件事,选对工具能省下大半时间。aibiye、aicheck、passbug三款平台各有侧重&…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/8 7:15:10

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/9 0:00:48

MHS模型硬件标准:让大模型像调用软件一样控制物理设备

让Claude真正看着显微镜说“这个细胞形态不太对”,或者让大模型自己调一版机械臂的运动轨迹,这事儿听上去已经很接近科幻片了。但你真上手试一次就会发现,模型不缺智商,缺的是一个能插进显微镜、机械臂、激光控制器里的“通用插座…

2026/9/9 0:00:48

AI五大核心方向详解:从机器学习到大模型,零基础转行选哪条?

会有人告诉我,他想转行学AI,但打开招聘网站一看直接傻眼:机器学习、深度学习、自然语言处理、计算机视觉、大模型应用……满屏都是这些词,好像每个都会一点,又好像每个都离自己很远。还有人上来就问“学Python还是学Ja…

2026/9/9 0:00:49

从50行最小循环到生产级AI引擎:工程化改造全解析

直接说干货。这一章我写的不是那种"hello world跑通某个模型"的教程,而是把AI引擎当做一个真正要上线、要被人调用、要扛流量的系统来聊。从最初只有50行的最小循环,到能够承载生产流量的AI引擎,中间差的不是代码量,而是…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码