介紹#
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 一下,輸入一個新指令之後就自動刷新了。