Mac

[mac]zshのコマンドプロンプトをカスタマイズするの巻

新しい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

 

-Mac

© 2024 青い空とコーヒーと