介绍#
Starship 是一个终端提示符(可以理解为主题),主要优点有三:
- 跨平台:无论使用的是
Bash
,Zsh
,fish
,PowerShell
甚至是cmd
,都可以方便的共用同一套配置; - 可自定义,且配置过程简单易懂;
- 速度快:使用 Rust 编写,拥有独树一帜的速度与安全性,不用忍受
oh-my-*sh
系列配置在低配 VPS 上的卡顿。
需要注意的是,Starship 只是一个提示符(或者说是主题),并不提供自动补全等等功能;这使它可以兼容原本配置的 shell 插件,并不会破坏任何环境!
对我来说,最吸引人的地方一是可以一个配置到处走,对于有不少终端要管理的人十分方便;同时速度快,在低配 VPS 上也能流畅运行。
安装#
安装指南 - Starship 这个文档写的很详细了,我摘录一些我常用的在下面,方便以后复制
- 安装 Starship
# 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
# 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 修改而来)
# 下载
curl https://gist.githubusercontent.com/yy4382/9f949c0934aef6c97cfb98d28f7cc8b9/raw/702c754b1ff046ea39cc72d5d7abab132a17b403/starship.toml -o ~/.config/starship.toml
{% hideBlock 点击查看 gist 提供的预览 %}
{% endhideBlock %}
不像修改 .zshrc
那样要 source 一下,输一个新指令之后就自动刷新了。