シェルのプロンプトをStarshipにして約1ヶ月が経過した
技術・テクノロジー自分はこれまでかなり長い間 少し凝った zshrc の設定をベースに Zsh を使ってきたのですが、ふと気分でそろそろ別のプロンプトに変えても良いんじゃないか?と思い、評判が良さそうな Starship に乗り換えることにしてみました。
Starshipとは?
公式サイトによると 互換性が高く、Rust 製で高速であり、カスタマイズ性に優れたプロンプト です。
brew ですぐに入れられます。少し特殊なのは Nerd Font を入れておくと良いくらいで、設定も簡単にできて非常に良かったです。 自分は Zsh で使っていますが、Bash や Fish 等にも対応しているのも嬉しいですね。
brew install starship
Zsh の場合:
# ~/.zshrc
eval "$(starship init zsh)"
自分はフォントに FiraCode NF を使っており、iTerm2 の Profiles → Text → Font から設定しています。リガチャは使っていません。
おすすめポイント
まず、速度は確かに高速かと思います。元々そこまで凝った設定を行っていなかったため、Starship を入れることによって多少遅くなるんじゃないか?と最初は心配に思っていましたが、現状全く問題ありません(体感レベルの話ですが)。
次に、カスタマイズ性に優れているのが良いですね。自分は妙なこだわりがあって、プロンプトの表示はこれがいい!みたいなものがあります。
そのため、ある程度プロンプトの表示を変更できる方がありがたいのですが、Starship は設定が簡単に出来る割にカスタマイズ性が高く、非常に使いやすいなと思いました。
参考までに、自分の設定ファイルを載せておきます。
# .config/starship.toml
add_newline = false
command_timeout = 2000
[aws]
disabled = true
[gcloud]
disabled = true
[time]
disabled = false
time_format = "%Y/%m/%d %H:%M"
[directory]
truncation_length = 10
truncate_to_repo = false
[username]
style_user = "white bold"
disabled = false
show_always = true
[hostname]
ssh_only = false
format = "[$hostname](bold red) "
disabled = false
[custom.arch]
command = "uname -m"
when = """ test $(uname -m) = "x86_64" """
style = "bold red"
format = "[$output]($style) "
各種設定項目に関しては 設定 | Starship から確認できます。日本語対応しているのも地味に嬉しいポイントですね。