🛎️

Alacritty + Starship でプロンプトの"❯"が表示されず困った話

2023/03/07に公開

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