Alacritty + Starship でプロンプトの"❯"が表示されず困った話
TL;DR
SF Mono Squareを使っていたのが原因。ターミナルのフォントにCicaを指定することで解決した。
経緯
Software Design 2023年3月号に連載されている「最強の開発環境探求の道」を読み、ターミナルエミュレータにAlacrittyを使ってみることにしました。
現在ではmacOS上でiTerm2を使っており、Alacrittyは相当前のイメージだと軽量だが多少バグバグしい、というイメージでした。こういった動向はまったく追っていなかったのですが雑誌の連載で紹介されるほど枯れているのかと思い乗り換えてみようかなと。
Alacrittyをインストールし、 ~/.alacritty
を以下のように設定した
font:
normal:
family: 'SF Mono Square'
style: Regular
bold:
family: 'SF Mono Square'
style: Bold
size: 22.0
すると、
このように ❯
が表示されなかった。ちなみに背景色と同化しており、プロンプト部分を選択しコピーすると ❯
がクリップボードにコピーできた。謎。
iTerm2だと
表示される。
色々試したところ、 ❯
以外(例えば →
)は表示できたため試しにフォントをCicaに変えると表示されたので解決としました。
結果
フォントにCicaを指定しただけ。フォントサイズが大きいのは目への負荷軽減です。
色味が多少気に入らなかったので緑色らしい緑色をStarship側で指定しています。
❯ cat ~/.alacritty.yml
font:
normal:
family: 'Cica'
style: Regular
bold:
family: 'Cica'
style: Bold
size: 22.0
❯ cat ~/.config/starship.toml
# 関係ないので略
[character]
format = '$symbol '
success_symbol = '[❯](bold #00d000)'
error_symbol = '[❯](bold red)'
vimcmd_symbol = '[❮](bold #00d000)'
vimcmd_replace_one_symbol = '[❮](bold purple)'
vimcmd_replace_symbol = '[❮](bold purple)'
vimcmd_visual_symbol = '[❮](bold yellow)'
余談
StarshipのCharacterの設定を読んで、シェルがvimのビジュアルモードと置換モードの時に ❯
の色を変えられることを知った。使っていたはずだが全く気づいてなかった。
余談2
どうやらCicaで左に出っ張った丸みたいなフォントがちゃんと描画されていないようだ。
tmuxのステータスラインが崩れる。
iTerm2 + SF Mono Square
Alacritty + Cica
このあたりのフォントの事情は昔からよくわからない。そのうちtmuxのステータスライン側の設定を変更して見なかったことにしていそう。
Discussion