truecolorが効かない原因の切り分け
truecolorはエスケープシーケンスで実現されている
tmux/ターミナルエミュレータそれぞれが正しくエスケープシーケンスを解釈しないとうまく表示されない
うまくいかないときに原因を素早く特定できればと思いメモしておきますkat0h.icon
間違い・不足あったら修正お願いします🙇🏻
truecolorが効かない原因の切り分け.icon ① truecolorが効かない原因の切り分け.icon
ターミナルエミュレーターがtruecolorに対応しているか確認する
$ curl -s https://gist.githubusercontent.com/lifepillar/09a44b8cf0f9397465614e622979107f/raw/24-bit-color.sh | bash
上記コマンドを実行(直接bashに繋ぐのは危険が危ないので心配な場合一回ファイルに書き出して確認してください)
tmuxは利用しないで確認
https://scrapbox.io/files/6210e971143c2e001da61ec5.png
次のような滑らかな線ができれば問題ない
Macのターミナル.appはtruecolorに対応していない uhooi.icon
bsahd.icon
$ curl -s https://gist.githubusercontent.com/bsahd/91d1e0303fad165605c5db3e205961bd/raw/ffa371e85c17d00f03bf2a8cd670cfc203d22109/truecolor-check
truecolorが効かない原因の切り分け.icon ② truecolorが効かない原因の切り分け.icon
tmuxが正しくtruecolor対応の設定になっているか確認する
tmuxセッションの中で同じコマンドを実行して確認する
tmuxサーバーを再起動しないとtmux.confは読み込まれません
truecolorが効かない原因の切り分け.icon ③ truecolorが効かない原因の切り分け.icon
$TERM変数の値を確認する
ターミナル・tmuxそれぞれで確認
$ echo $TERM
truecolorが効かない原因の切り分け.icon ④ truecolorが効かない原因の切り分け.icon
Vimがtruecolor対応になっているか確認する
t_8f/t_8bの値を確認する
:echo &t_8f
:echo &t_8b
kat0h.icon↑よく意味わかってません たしかtermguicolorようのエスケープシーケンスだったはず
termguicolorsが有効になっているか確認する
:echo &termguicolors
termguicolorsの設定がカラースキームの読み込み前に行われているか確認する
.vimrc (init.vim)でset termguicolorsがカラースキーム読み込み前に記述されているか
あとからだと問題になる場合がある