新しいMacbookAirに買い替えると、Macのターミナルがbashから強制的にzshになっていた。
初めてzshを使うので、まずはbashの設定を移行してみたが、それでもzshでは使えなかった。
コマンドプロンプトのカスタマイズは、bashでは気に入っていたので、そのまま使いたかったがダメだったので、げんなり。
プログラマー友人のオススメでOh My Zshを使ってみたが、テーマがめちゃんこ多くて、選ぶのに時間がかかる割には、お気に入りのプロンプトが無い。。
Oh My Zshをカスタマイズすることもできるみたいだけど、ややこしいので、アンイストール。
補完機能などのプラグインは個別にインストールすることにして、zshのプロンプトをカスタマイズすることにした。
お気に入りは、
名前@Mac 10月05日 10:11 dir/src/tools$
のように、日付と時間を入れたい、パスも3階層まで表示したい。
これだけやりたいのに、bashの時は情報が多くて、すぐにカスタマイズできたが、zshは少ない。。
色々、調べた結果をざっと載せておきます。
シーケンス | 説明 |
%dもしくは%/ | カレントディレクトリ(これだけだとフルパスになるよ) |
%n | ユーザーネーム |
%M | .localが入るユーザーネーム |
%m | .localが入らないユーザーネーム |
%y | デバイスの名前 |
%l | 接頭辞の無い |
%D | 日付 例:23-10-05 |
%T | 時間 22:01 |
%t | 時間 8:01PM |
%B | 太文字開始(終了%b) |
%U | 下線開始(終了%u) |
%F{color} | 文字に色付け開始(終了%f) |
%K{color} | 文字の背景色に色付け開始(終了%k) |
文字として指定できるカラー | black, red, green, yellow, blue, magenta, cyan and white, |
カラーは %f{#55C502} のようにカラーコードを指定することもできる。
日付フォーマット
このようの日付はさらに細かく指定できる
%D{%Y/%m/%d %H:%M}
結果:23/10/05 22:02
カレントディレクトリの表示階層指定
%dや%/ だけだとフルパスで表示されてしまい、とても見にくくなる。
かといって、カレンドディレクトリだけでは例えば src$ などになってもどのフォルダのsrcなのかがわからなくなる。
なので、3階層上や2階層と指定した階層だけ表示するようにしたい。
公式サイトにちょろっと英語で載っていた。
%3/
のように%の後に数字で階層を表示するとOK.
〇〇/src/tools$
のように表示される。
.zshrcの編集を終えるとこれを実行すると反映される。
source ~/.zshrc