全平台的终端提示符：Starship 体验

介绍

Starship 是一个终端提示符（可以理解为主题），主要优点有三：

跨平台：无论使用的是 Bash, Zsh, fish, PowerShell 甚至是 cmd，都可以方便的共用同一套配置；

可自定义，且配置过程简单易懂；

速度快：使用 Rust 编写，拥有独树一帜的速度与安全性，不用忍受 oh-my-*sh 系列配置在低配 VPS 上的卡顿。

需要注意的是，Starship 只是一个提示符（或者说是主题），并不提供自动补全等等功能；这使它可以兼容原本配置的 shell 插件，并不会破坏任何环境！

对我来说，最吸引人的地方一是可以一个配置到处走，对于有不少终端要管理的人十分方便；同时速度快，在低配 VPS 上也能流畅运行。

安装

安装指南 - Starship 这个文档写的很详细了，我摘录一些我常用的在下面，方便以后复制

安装 Starship

Copy
# Linux
curl -sS https://starship.rs/install.sh | sh

# macOS
brew install starship

# Windows
# 在 https://github.com/starship/starship/releases/ 选择合适的msi包，或者通过包管理器安装
winget install --id Starship.Starship
scoop install starship

配置你的终端来初始化 starship

Copy
# zsh
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

# Bash
echo 'eval "$(starship init bash)"' >> ~/.bashrc

# fish
echo 'starship init fish | source' >> ~/.config/fish/config.fish

# Powershell
echo 'Invoke-Expression (&starship init powershell)' >> $PROFILE
# Powershell 5 好像还不支持这种重定向？可能需要手动添加

重启 shell。此时，一个基本可用的 prompt 就完成了。

进一步配置

配置 - Starship 配置的文档同样写的很详细。

Starship 的配置文件就是一个放在 ~/.config/ 文件夹下的 toml 文件，其中最重要的就是 format 值：这定义了 prompt 具体会如何展示。同时，可以在其中插入 $ 开头的变量，这些变量也有自己的 [sector] 设置项。

如果理解了他是如何组成的，编写配置文件就变得容易起来。如果不想自己配置，可以在 预设 中选择一个自己喜欢的，也可以使用我的配置（由 Tokyo Night Preset 修改而来）

Copy
# 下载
curl https://gist.githubusercontent.com/yy4382/9f949c0934aef6c97cfb98d28f7cc8b9/raw/702c754b1ff046ea39cc72d5d7abab132a17b403/starship.toml -o ~/.config/starship.toml

{% hideBlock 点击查看 gist 提供的预览 %}

{% endhideBlock %}

不像修改 .zshrc 那样要 source 一下，输一个新指令之后就自动刷新了。