zshのfgにdefaultってやつがあることを知った.
前置き
最近白い画面をよく使っている. しかしながら,使っていたPROMPTが黒い画面を使っていたときのものだったので,ちょっと困ることがあった.
local now="%{$fg[white]%}[%*]"
こういうのを書いてしまうと黒い画面のときはちゃんと見えるのだが,白い画面になると全然見えない.悲しい. これをどうにかしたいという話
結論
local now="%{$fg[default]%}[%*]"
推論
黒い画面にしても白い画面にしても,普通の文字は見えているのだから,そういうのが存在するはずだ. fg内になにかしらあるだろう.
fgは文字列でアクセスしてるから連想配列っぽいっていうところもわかった.
echoした
うーん悲しい
なんかすっごいカラフルだけど,valueしか出てなくてkeyがわからん.
配列$fg[0]
的な感じで配列アクセスは出来るけど,流石に格好悪すぎる.
keyアクセスする方法があった
% echo ${(k)fg} cyan white yellow magenta black blue red default grey green
PRO ppoi !!
見るとred
とgrey
の間にdefault
というものがある.
設定してみたら案の上表の色だった.
めでたしめでたし.