zshのプロンプトを設定していてハマったので記録。
---
[ 日付 時刻 : ディレクトリ ]
ユーザ名@ホスト名 %
---
と表示したくて次のように設定した。
---
PROMPT='
[ %D %* : %~ ]
%n@%m %# '
---
この設定だと時刻と「:」が入っているので分かりにくいため、
色を付けることにした。
最終的に以下の様に設定した。
---
PROMPT="
[ %{$fg[white]$bg[blue]%}%D %*%{${reset_color}%} : %{${fg[yellow]}%}%~%{${reset_color}%} ]
%(?.%{${fg[green]}%}.%{${fg[red]}%})%n%{${reset_color}%}@%{${fg[cyan]}%}%m%{${reset_color}%} %# "
---
このとき、%{${reset_color}%} を ${reset_color} と書いていたため、
コマンド補完時に表示がおかしくなっていた。
カラー表示は問題なかったため、なかなか原因がわからなかった。
次のサイトを参考にして修正した。
[参考]
シェルのプロンプトは改行しようぜ
http://d.hatena.ne.jp/okmount/20090601/p1
早い話、色の設定は %{ ~ %} で囲まないといけない。
---
[ 日付 時刻 : ディレクトリ ]
ユーザ名@ホスト名 %
---
と表示したくて次のように設定した。
---
PROMPT='
[ %D %* : %~ ]
%n@%m %# '
---
この設定だと時刻と「:」が入っているので分かりにくいため、
色を付けることにした。
最終的に以下の様に設定した。
---
PROMPT="
[ %{$fg[white]$bg[blue]%}%D %*%{${reset_color}%} : %{${fg[yellow]}%}%~%{${reset_color}%} ]
%(?.%{${fg[green]}%}.%{${fg[red]}%})%n%{${reset_color}%}@%{${fg[cyan]}%}%m%{${reset_color}%} %# "
---
このとき、%{${reset_color}%} を ${reset_color} と書いていたため、
コマンド補完時に表示がおかしくなっていた。
カラー表示は問題なかったため、なかなか原因がわからなかった。
次のサイトを参考にして修正した。
[参考]
シェルのプロンプトは改行しようぜ
http://d.hatena.ne.jp/okmount/20090601/p1
早い話、色の設定は %{ ~ %} で囲まないといけない。
コメント
コメントを投稿