魏真权头像

深度解析 Starship Jetpack 预设:基于终端主题色的伪极简左右分栏提示符

深度解析 Starship Jetpack 预设:基于终端主题色的伪极简左右分栏提示符

【免费下载链接】starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! 【免费下载链接】starship 项目地址: https://gitcode.com/GitHub_Trending/st/starship

Jetpack 是 Starship 官方预设目录中一款"伪极简(pseudo minimalist)"提示符配置,视觉上轻快简洁、信息密度低,但背后其实是高度结构化的双栏布局:输入行左侧只保留少量上下文,目录、Git 状态、语言运行时等绝大多数信息全部收进右侧 right_format。本文以 docs/pl-PL/presets/jetpack.md 及其对应的 完整预设文件 为主体,结合仓库源码逐段拆解每一处配置的用途与可调项,帮助你读懂、安装并二次定制这款预设。

Jetpack 刻意不定义任何十六进制调色板,所有颜色均直接使用终端配色主题中的语义色(blue、red、green、purple、bright-* 等),因此无论你正在使用何种终端配色方案,它都能自然融入,这也是理解整份配置的核心线索。

Starship Jetpack 预设运行效果截图

一、Jetpack 预设是什么

Jetpack 的设计灵感来自 geometry 与 spaceship 两个知名的社区 zsh 提示符项目——geometry 崇尚极简与速度,spaceship 则提供了丰富的上下文信息。Jetpack 试图在两者之间取一个平衡点:

  • 它只显示真正有用的左栏信息:命令耗时、用户身份、后台任务、当前环境(nix shell / 容器);
  • 把文件系统上下文、版本控制状态、语言运行时、云平台凭证等全部塞进右侧,让"光标所在行"保持干净;
  • 用统一的语义色与字符符号(大多为普通 Unicode,而非必须安装 Nerd Font 的特殊字形)压低视觉噪音。

在官方预设目录 docs/presets/README.md 中,Jetpack 与 Pure Prompt、Pastel Powerline、Tokyo Night、Gruvbox Rainbow 等并列收录;波兰语版文档 docs/pl-PL/presets/jetpack.md 是同一份指南的本地化版本,二者正文一致,均内嵌同一份 jetpack.toml。

二、安装前置条件

文档明确列出了两项使用前提:

  1. 需要支持 right prompt(右侧提示符)的 shell。 Jetpack 把大量模块放进 right_format,因此你的 shell 必须能渲染独立于输入行的右侧提示符。根据 advanced-config 文档 的说明,right_format 目前支持:elvish、fish、zsh、xonsh、cmd、nushell、bash。若在 bash 中使用,需要额外安装 v0.4 及以上的 Ble.sh 框架。另外在 zsh(v5.0.5+)下,shell 默认会在右侧提示符尾部追加一个空格,可能干扰与 $fill 模块搭配的对齐效果,文档建议在 .zshrc 中加入:

    ZLE_RPROMPT_INDENT=0
    
  2. 推荐搭配 JetBrains Mono 等宽字体。 预设中的提示符符号(◎、▸▹、⭘、△、◫ 等)需要具备较好字形覆盖的字体才能整齐显示;文档明确推荐 Jetbrains Mono。这属于推荐项而非强制项,若个别字形在你的字体中缺失,可用普通字符替换(下文会给出替换示例)。

三、启用与安装方式

Jetpack 通过 Starship 内置的 preset 子命令一键写入配置文件:

starship preset jetpack -o ~/.config/starship.toml

从 src/main.rs 的 CLI 定义可以看到该子命令的完整行为:

  • starship preset jetpack:将预设内容打印到标准输出,可用于先预览再决定是否写入;
  • -o, --output <PATH>:把预设写入指定文件(与 --list 互斥);
  • -f, --force:当目标文件已存在时强制覆盖(需要与 -o 一起使用);
  • -l, --list:列出所有可用预设名称。

对应的实现位于 src/print.rs:内容来自随二进制打包的 docs/public/presets/toml/ 目录,写入时使用原子写文件;不传 -f 且目标文件已存在时命令会报错退出。因此,若你此前已有一份自定义配置,建议先备份再执行:

cp ~/.config/starship.toml ~/.config/starship.toml.bak
starship preset jetpack -o ~/.config/starship.toml -f

不想使用命令行时,也可以直接下载仓库中维护的原始文件 docs/public/presets/toml/jetpack.toml,自行复制为 ~/.config/starship.toml。安装完成后,重新打开一个终端窗口(或执行 exec $SHELL)即可看到效果。

四、整份预设配置速览

以下即为该预设的完整内容(文件头部声明了 schema,可在支持的编辑器中获得键名与枚举值的自动补全与校验):

# version: 1.0.0
"$schema" = 'https://starship.rs/config-schema.json'

add_newline = true
continuation_prompt = "▸▹ "

format = """($nix_shell$container$fill$git_metrics\n)$cmd_duration\
$hostname\
$localip\
$shlvl\
$shell\
$env_var\
$jobs\
$sudo\
$username\
$character"""

right_format = """
$singularity\
$kubernetes\
$directory\
$vcsh\
$fossil_branch\
$git_branch\
$git_commit\
$git_state\
$git_status\
$hg_branch\
$pijul_channel\
$docker_context\
$package\
$c\
$cpp\
$cmake\
$cobol\
$daml\
$dart\
$deno\
$dotnet\
$elixir\
$elm\
$erlang\
$fennel\
$fortran\
$golang\
$guix_shell\
$haskell\
$haxe\
$helm\
$java\
$julia\
$kotlin\
$gradle\
$lua\
$maven\
$nim\
$nodejs\
$bun\
$ocaml\
$opa\
$perl\
$php\
$pulumi\
$purescript\
$python\
$raku\
$rlang\
$red\
$ruby\
$rust\
$scala\
$solidity\
$swift\
$terraform\
$vlang\
$vagrant\
$xmake\
$zig\
$buf\
$conda\
$pixi\
$meson\
$spack\
$memory_usage\
$aws\
$gcloud\
$openstack\
$azure\
$crystal\
$custom\
$status\
$os\
$battery\
$time"""

[fill]
symbol = ' '

[character]
format = "$symbol "
success_symbol = "◎"
error_symbol = "○"
vimcmd_symbol = "■"
# not supported in zsh
vimcmd_replace_one_symbol = "◌"
vimcmd_replace_symbol = "□"
vimcmd_visual_symbol = "▼"

[env_var.VIMSHELL]
format = "$env_value"
style = 'green italic'

[sudo]
format = "$symbol"
style = "bold italic bright-purple"
symbol = "⋈┈"
disabled = false

[username]
style_user = "bright-yellow bold italic"
style_root = "purple bold italic"
format = "⭘ $user "
disabled = false
show_always = false

[directory]
home_symbol = "⌂"
truncation_length = 2
truncation_symbol = "□ "
read_only = " ◈"
use_os_path_sep = true
style = "italic blue"
format = '$path$read_only'
repo_root_style = 'bold blue'
repo_root_format = '$before_root_path$repo_root$path$read_only △'

[cmd_duration]
format = "◄ $duration "

[jobs]
format = "$symbol$number "
style = "white"
symbol = "▶"

[localip]
ssh_only = true
format = " ◯$localipv4"
disabled = false

[time]
disabled = false
format = " $time"
time_format = "%R"
utc_time_offset = "local"
style = "italic dimmed white"

[battery]
format = " $percentage $symbol"
full_symbol = "█"
charging_symbol = "↑"
discharging_symbol = "↓"
unknown_symbol = "░"
empty_symbol = "▃"

[[battery.display]]
threshold = 20
style = "italic bold red"

[[battery.display]]
threshold = 60
style = "italic dimmed bright-purple"

[[battery.display]]
threshold = 70
style = "italic dimmed yellow"

[git_branch]
format = " $branch(:$remote_branch)"
symbol = "△"
style = "italic bright-blue"
truncation_symbol = "⋯"
truncation_length = 11
ignore_branches = ["main", "master"]
only_attached = true

[git_metrics]
format = '(▴$added)(▿$deleted)'
added_style = 'italic dimmed green'
deleted_style = 'italic dimmed red'
ignore_submodules = true
disabled = false

[git_status]
style = "bold italic bright-blue"
format = "(⎪$ahead_behind$staged$modified$untracked$renamed$deleted$conflicted$stashed⎥)"
conflicted = "◪◦"
ahead = "▴│[${count}│](italic green)"
behind = "▿│[${count}│](italic red)"
diverged = "◇ ▴┤[${ahead_count}│▿┤${behind_count}│](italic bright-magenta)"
untracked = "◌◦"
stashed = "◃◈"
modified = "●◦"
staged = "▪┤[$count│](italic bright-cyan)"
renamed = "◎◦"
deleted = "✕"

[deno]
format = " deno ∫ $version"
version_format = "${raw}"

[lua]
format = " lua ${symbol}${version}"
version_format = "${raw}"
symbol = "⨀ "
style = "bold bright-yellow"

[nodejs]
format = " node ◫ ($version)"
version_format = "${raw}"
detect_files = ["package-lock.json", "yarn.lock"]
detect_folders = ["node_modules"]
detect_extensions = []

[bun]
format = " bun ◫ ($version)"
version_format = "${raw}"

[python]
format = " py ${symbol}${version}"
symbol = "⌉⌊ "
version_format = "${raw}"
style = "bold bright-yellow"

[ruby]
format = " rb ${symbol}${version}"
symbol = "◆ "
version_format = "${raw}"
style = "bold red"

[rust]
format = " rs $symbol$version"
symbol = "⊃ "
version_format = "${raw}"
style = "bold red"

[package]
format = " pkg $symbol$version"
version_format = "${raw}"
symbol = "◨ "
style = "dimmed yellow italic bold"

[swift]
format = " sw ${symbol}${version}"
symbol = "◁ "
style = "bold bright-red"
version_format = "${raw}"

[aws]
disabled = true
format = " aws $symbol $profile $region"
style = "bold blue"
symbol = "▲ "

[buf]
symbol = "■ "
format = " buf $symbol $version $buf_version"

[c]
symbol = "ℂ "
format = " $symbol($version(-$name))"

[cpp]
symbol = "ℂ "
format = " $symbol($version(-$name))"

[conda]
symbol = "◯ "
format = " conda $symbol$environment"

[pixi]
symbol = "■ "
format = " pixi $symbol$version ($environment )"

[dart]
symbol = "◁◅ "
format = " dart $symbol($version )"

[docker_context]
symbol = "◧ "
format = " docker $symbol$context"

[elixir]
symbol = "△ "
format = " exs $symbol $version OTP $otp_version "

[elm]
symbol = "◩ "
format = " elm $symbol($version )"

[golang]
symbol = "∩ "
format = " go $symbol($version )"

[haskell]
symbol = "❯λ "
format = " hs $symbol($version )"

[java]
symbol = "∪ "
format = " java ${symbol}(${version} )"

[jj_bookmark]
format = " $symbol$bookmark(@$remote)$diverged( \\(+$overflow_count others\\))"
symbol = "△"
style = "italic bright-blue"
truncation_symbol = "⋯"
truncation_length = 11
ignore_names = ["main", "master"]

[julia]
symbol = "◎ "
format = " jl $symbol($version )"

[memory_usage]
symbol = "▪▫▪ "
format = " mem ${ram}( ${swap})"

[nim]
symbol = "▴▲▴ "
format = " nim $symbol($version )"

[nix_shell]
style = 'bold italic dimmed blue'
symbol = '✶'
format = '$symbol nix⎪$state⎪ $name'
impure_msg = '⌽'
pure_msg = '⌾'
unknown_msg = '◌'

[spack]
symbol = "◇ "
format = " spack $symbol$environment"

五、双栏布局:format 与 right_format 的分工

整份预设的灵魂在于顶层的两段格式串。Starship 的全局配置中,format 决定输入行左侧的输出顺序,right_format 决定右侧提示符的内容;$all 变量只会包含"两边都未显式使用"的模块(详见 config 文档 与 advanced-config 的 Enable Right Prompt 一节)。

5.1 左栏 format:刻意留白

format = """($nix_shell$container$fill$git_metrics\n)$cmd_duration\
$hostname\
$localip\
$shlvl\
$shell\
$env_var\
$jobs\
$sudo\
$username\
$character"""

左栏只保留 11 类信息,可以拆成两行理解:

  • 第一行:$nix_shell(Nix 开发环境)与 $container(容器内运行)是环境提示,中间夹着一个 $fill 模块(其配置见下),随后是 $git_metrics(Git 增删行统计)。$fill 会把该行剩余空间"撑开",从而把 $git_metrics 推到当前行的右边缘——即使你的 shell 不支持独立的 right prompt,也能实现部分右对齐效果;
  • 第二行(\n 之后):$cmd_duration(上条命令耗时)、$hostname、$localip(仅 SSH 会话时显示,见后文)、$shlvl(shell 层级)、$shell、$env_var(当前只监听 VIMSHELL)、$jobs(后台任务)、$sudo(缓存凭证状态)、$username(用户名)以及最终的 $character(输入提示符符号)。

可以看到,Git 分支、目录、语言版本这些"重信息"统统没有出现在左栏——它们全部在右侧。

5.2 右栏 right_format:信息收纳区

right_format 里按"目录与版本控制 → 语言运行时 → 云与容器 → 系统状态"的顺序罗列了 60 余个模块。需要强调的是:罗列模块并不等于强制显示。这些模块绝大多数默认只在"检测到对应环境"时出现,例如 $golang 只在包含 Go 文件的目录出现、$docker_context 只在有 Docker 上下文时出现。Star 上 $character 之后的输入光标位置会保持干净,右侧则按需累积上下文。

此外 $fill 的这段配置值得单独说明:

[fill]
symbol = ' '

fill 模块(src/modules/fill.rs)会计算其符号(此处为单个空格)的重复次数,以填满当前行剩余宽度。由于 Jetpack 在 format 中把它放在 $git_metrics 之前,Git 增删统计便会被推挤到该行最右侧,形成"第一行右端是对照上下文的统计数字、第二行左端才是真正输入位置"的独特节奏。

六、核心模块逐段解读

6.1 输入指示与身份:character、sudo、username

[character]
format = "$symbol "
success_symbol = "◎"
error_symbol = "○"
vimcmd_symbol = "■"
vimcmd_replace_one_symbol = "◌"
vimcmd_replace_symbol = "□"
vimcmd_visual_symbol = "▼"

character 是 Starship 的"返回码指示器"(实现见 src/modules/character.rs):上一条命令退出码为 0 时显示亮黄 ◎,非 0 时显示紫色 ○,并且会覆盖 Vim 命令行模式的五种状态符号。这里的一个值得注意的细节是注释 # not supported in zsh——由于 zsh 的 zle-keymap-select 联动差异,vimcmd_replace_one_symbol 等符号无法在所有 shell 的替换模式中生效,视觉上会退化为默认行为。

[sudo]
format = "$symbol"
style = "bold italic bright-purple"
symbol = "⋈┈"
disabled = false

sudo 模块被显式启用(Starship 默认关闭),当检测到当前 shell 已缓存 sudo 凭证时,在提示符前给出 ⋈┈ 标记。

[username]
style_user = "bright-yellow bold italic"
style_root = "purple bold italic"
format = "⭘ $user "
disabled = false
show_always = false

用户名模块同样显式启用,但 show_always = false 意味着只在特殊情形下显示:以 root 运行、登录了与本地不同的用户,或 SSH 会话中。普通日常会话中不会白白占用空间——这正是"伪极简"的取舍点。

6.2 路径展示:directory

[directory]
home_symbol = "⌂"
truncation_length = 2
truncation_symbol = "□ "
read_only = " ◈"
use_os_path_sep = true
style = "italic blue"
format = '$path$read_only'
repo_root_style = 'bold blue'
repo_root_format = '$before_root_path$repo_root$path$read_only △'

directory 模块(src/modules/directory.rs)在 Jetpack 中的呈现非常讲究:

  • home_symbol = "⌂":家目录用 ⌂ 图标替代完整路径;
  • truncation_length = 2 + truncation_symbol = "□ ":只保留当前目录名与上一级目录,深层路径被折叠,折叠处用 □ 示意;
  • read_only = " ◈":目录只读时追加 ◈ 标记;
  • use_os_path_sep = true:使用当前 OS 的路径分隔符拼接被截断的路径,跨平台行为更自然;
  • repo_root_* 三行与 repo_root_format:当处于 Git 仓库内时,仓库根目录以粗体蓝高亮,并在路径末尾追加一个亮蓝小三角 △,提示"此处是仓库根"。

6.3 版本控制三件套:git_branch、git_metrics、git_status

右侧最核心的是三组 Git 模块。先看分支:

[git_branch]
format = " $branch(:$remote_branch)"
symbol = "△"
style = "italic bright-blue"
truncation_symbol = "⋯"
truncation_length = 11
ignore_branches = ["main", "master"]
only_attached = true

only_attached = true 表示只在 HEAD 附着于某个分支时显示,处于 detached HEAD 时分支模块整个隐藏;main/master 属于 ignore_branches 默认列表(对应源码模块中的默认值),因此这两个常见默认分支名不会作为额外信息刷屏。分支名超过 11 个字符时以 ⋯ 截断。

增删统计来自 git_metrics(该模块默认在 Starship 中关闭,此处显式 disabled = false 启用,且 ignore_submodules = true 避免统计子模块噪音):

[git_metrics]
format = '(▴$added)(▿$deleted)'
added_style = 'italic dimmed green'
deleted_style = 'italic dimmed red'

对应实现见 src/modules/git_metrics.rs,它通过 git diff --numstat 统计自 HEAD 以来的增删行数:绿色 ▴N 为新增,红色 ▿N 为删除。

工作区状态由 git_status 汇总(src/modules/git_status.rs):

[git_status]
style = "bold italic bright-blue"
format = "(⎪$ahead_behind$staged$modified$untracked$renamed$deleted$conflicted$stashed⎥)"

所有变更符号被统一包裹进一对 ⎪ ⎥ 括号内,视觉上是一个整体区块;内部按 staged / modified / untracked 等状态逐一上色。值得留意的几个映射:ahead 用绿色 ▴│N│ 表达本地领先远端 N 个提交,behind 用红色 ▿│N│ 表达落后,diverged 则同时给出两个计数并以亮品红标注分叉,deleted 直接使用 ✕。这种"每个状态一个独特符号 + 语义色"的做法,把 GitHub/PR 里常见的 diff 语汇带进了终端。

6.4 轻量上下文:cmd_duration、jobs、localip、time、battery

[cmd_duration]
format = "◄ $duration "

命令耗时以 ◄ 12s 的形式出现在第二行首部(不包含 Starship 默认的 "took" 前缀文案),让"这命令到底跑了多久"一眼可见。

[jobs]
format = "$symbol$number "
symbol = "▶"

有后台任务时显示蓝色播放符号 + 数量,无任务时整段不输出。

[localip]
ssh_only = true
format = " ◯$localipv4"
disabled = false

localip 在 Starship 中也默认关闭(对应 src/modules/localip.rs),此处启用但设 ssh_only = true——只有当你通过 SSH 连入机器时才亮出本机 IPv4 地址(品红色 ◯1.2.3.4),避免在普通本地终端上制造噪音。

[time]
disabled = false
format = " $time"
time_format = "%R"
utc_time_offset = "local"
style = "italic dimmed white"

时间模块默认关闭,此处启用并以 %R(24 小时制 HH:MM)显示,utc_time_offset = "local" 让时间跟随系统本地时区。

[battery]
format = " $percentage $symbol"
full_symbol = "█"
charging_symbol = "↑"
discharging_symbol = "↓"
unknown_symbol = "░"
empty_symbol = "▃"

[[battery.display]]
threshold = 20
style = "italic bold red"
# threshold 60、70 的两组 display 段以此类推

电池模块将百分比与状态符号组合输出,并用三组 [[battery.display]] 定义阈值分档:低于 20% 时整段转为醒目红色,60% 以下为暗紫、70% 以下为暗黄,高于 70% 则退回默认样式。对应的阈值解析与分档逻辑可参考 src/modules/battery.rs。

6.5 运行环境:env_var、nix_shell

[env_var.VIMSHELL]
format = "$env_value"
style = 'green italic'

Jetpack 只对 VIMSHELL 这一个环境变量做了定制:当你在终端 Vim 内部通过 :shell 拉起 shell 时,会以绿色斜体标注当前 shell 是 Vim 子进程,提示"别在这里敲 exit 退多了"。

[nix_shell]
style = 'bold italic dimmed blue'
symbol = '✶'
format = '$symbol nix⎪$state⎪ $name'
pure_msg = '⌾'
impure_msg = '⌽'
unknown_msg = '◌'

进入 nix develop/nix-shell 环境时,左侧第一行会出现 ✶ nix⎪pure⎪ 区块;pure_msg(纯环境,绿)、impure_msg(不纯,红)、unknown_msg(未知,黄)三种状态分别用不同符号与颜色区分,下方再以淡色斜体列出环境名。

6.6 语言运行时区:伪装极简的"清单"

右侧 runtime 段落是整份预设中篇幅最大的一块,但每个模块的改动都很克制,遵循统一模板:文本标签(斜体)+ 版本(带色)+ 每门语言的专属符号,并且全部设置了 version_format = "${raw}"——即跳过 Starship 默认追加的 v 前缀,直接打印裸版本号。

以几个典型为例:

[nodejs]
format = " node ◫ ($version)"
version_format = "${raw}"
detect_files = ["package-lock.json", "yarn.lock"]
detect_folders = ["node_modules"]
detect_extensions = []

Node.js 的探测范围被收得很紧:detect_extensions = [] 意味着单个 .js 文件不再触发 nodejs 模块,只有出现 package-lock.json/yarn.lock 或 node_modules 目录时才显示版本——避免在随便写个脚本的目录里也冒出版本信息。

[python]
format = " py ${symbol}${version}"
symbol = "⌉⌊ "
style = "bold bright-yellow"

Python 的标签缩写为 py,符号是「⌉⌊」组成的开合括号,版本以亮黄粗体显示。

[rust]
format = " rs $symbol$version"
symbol = "⊃ "
style = "bold red"

[ruby]
format = " rb ${symbol}${version}"
symbol = "◆ "
style = "bold red"

[swift]
format = " sw ${symbol}${version}"
symbol = "◁ "
style = "bold bright-red"

Rust、Ruby、Swift 分别以 rs、rb、sw 作为标签,风格统一。

[package]
format = " pkg $symbol$version"
symbol = "◨ "
style = "dimmed yellow italic bold"

当前目录的包版本以淡黄 pkg 标签呈现,便于确认所在项目发布的版本号。

在 right_format 尾部,还有一批只改 symbol/format 以统一视觉风格的运行时与工具链模块(buf、conda、pixi、dart、docker_context、elixir、elm、golang、haskell、java、julia、memory_usage、nim、spack 等),它们的共同点是不硬编码背景色、全部使用终端语义色。例如:

[haskell]
symbol = "❯λ "
format = " hs $symbol($version )"

[memory_usage]
symbol = "▪▫▪ "
format = " mem ${ram}( ${swap})"

[spack]
symbol = "◇ "
format = " spack $symbol$environment"

6.7 云端与反例:aws

[aws]
disabled = true
format = " aws $symbol $profile $region"
style = "bold blue"
symbol = "▲ "

aws 是整份配置中唯一被显式关闭的云端模块(disabled = true),尽管它同样定义了格式与符号。这意味着 Jetpack 的作者希望 AWS 凭证信息不要常驻右侧提示符——相关模块在需要时仍可手动取消注释启用。云平台相关模块的探测与渲染逻辑见 src/modules/aws.rs。

七、JetBrains Mono、色彩哲学与自定义建议

Jetpack 不包含任何 #RRGGBB 十六进制颜色,所有样式全部使用 Starship 的语义色关键词(blue、red、green、bright-purple 等)与修饰符(bold/italic/dimmed)。效果是:你在浅色终端主题下看到的是深色文字、在深色终端主题下自动反转为浅色文字,提示符永远与终端配色"同频"。与之配合的字体建议是 JetBrains Mono——其 ◎、◫、⌂ 等几何符号的清晰度直接决定截图级别的观感。

如果你想进一步个性化,不需要改动整个文件,直接在 ~/.config/starship.toml 中覆盖对应小节即可,例如:

# 把成功符号从 ◎ 换成 ❯
[character]
success_symbol = "❯"

# 不想看到 SSH 下的本机 IP
[localip]
disabled = true

# 把电池低电量阈值从 20 提到 30
[[battery.display]]
threshold = 30
style = "italic bold red"

所有键名的取值约束(如 character.success_symbol、battery.display 的分档语义)都可在 Starship 的 config 参考文档 与全局 schema 文件 docs/public/config-schema.json 中查到;若在支持 JSON Schema 的编辑器中打开本预设文件,头部声明的 $schema 会直接驱动键名与枚举值的补全校验。

八、小结

Jetpack 预设的价值不在于"模块用得少",而在于位置的刻意规划:左栏克制、右栏收纳、Git 增删统计右对齐、所有颜色跟随终端主题。它同时示范了 Starship 若干高级用法——right_format 双栏布局、fill 的推挤对齐、localip.ssh_only/aws.disabled 这类"按需显隐"开关、detect_extensions = [] 的精确探测控制,以及 version_format = "${raw}" 的输出微调。

安装后若想对照官方更多预设或回归预设总览,可返回 预设目录(波兰语版见 docs/pl-PL/presets/README.md),其中同一主题的独立文档还保存在各语言目录下。逐模块深入某个行为时,本仓库的 src/modules 目录提供了每个模块的完整实现与默认值,是与终端行为互证的最佳参考。

【免费下载链接】starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! 【免费下载链接】starship 项目地址: https://gitcode.com/GitHub_Trending/st/starship

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/gitblog_00976/article/details/156669242

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--