ターミナル

【zsh/iTerm2】プロンプトのカスタマイズ🐈【色付けなど】

ターミナルなどで表示されるuser@abcd ~ %という部分をプロンプトといいます。
ここをカスタマイズして快適にしようという記事になります。

まず初めに、iTerm2を使っていてもここはシェル依存なのでターミナルの場合とカスタマイズ方法は変わりません。
よって、zshを使っている場合はzshのプロンプトのカスタマイズを行います。
(bashをつかっている場合はこちら

設定の試し方

まずは表示する内容を作っていきます。
新しいタブを開いて、

PS1='%n@%m:%c %# '

というように実行すれば、他には影響せず実行したタブだけ内容が書き換わるのでまずはこちらでプレビューしながら進めるとよいです。

プロンプトカスタマイズの設定項目

zshのプロンプトカスタマイズのドキュメントはこちらなのですが見にくい!
...のでまとめました。
シェルのコマンドをガッツリ書くためのものは省いて、一般的なWeb開発者が使いそうなものに絞っています。

表記説明出力例
%nユーザー名username
%#権限(特権付きなら#、そうでなければ%)%
%d
%/
現在の作業ディレクトリ/Users/username/dev
%~現在の作業ディレクトリ ただし$HOMEで始まる場合は~に省略する~/dev
%c
%.
%C
現在の作業ディレクトリの末尾dev
%D日付23-02-06
%T時間(24時間表示)16:10
%t
%@
時間(AM/PM表示)4:10PM
%*時間(24時間表示、秒まで)16:11:49
%w曜日と日付火 7
%W日/月/年(2桁)02/06/23
%B...%b挟まれた間の部分を太字にする...
%U...%u挟まれた間の部分を下線にする
%S...%s挟まれた間の部分を反転する
%F{red}...%f挟まれた間の部分を赤文字にする
%K{red}...%k挟まれた間の部分を赤背景にする

上記の例ではredを指定していますが、基本の色は下記になります。色名か番号で指定します。
設定できる色の種類は端末により異なるらしく、最小は下記の通り7までのようですが、手元のMacでは255まで指定できました。

black0
red1
green2
yellow3
blue4
magenta5
cyan6
white7

なお、文字を入れればその通りに出力されます。
😺を入れれば毎回😺がでます。色付きの絵文字があるとコマンドの入力行がわかりやすい(+癒やしも足される)ので個人的にはおすすめです。
また、最後が詰まると見にくいので末尾は半角スペースをいれてくとよいです。

ということで私が現在利用しているものを例として置いておきます。

PS1='%F{33}%n@%m:%c 🐈 %#%f '

色コード33が反映されない場合は6などがオススメです。
赤や緑は普通に出力されることが多く混ざって見にくいので避けつつ、黒背景でも見やすいよう明るい青色にしています。

設定を反映する

下記のように.zshrcに追記します。

export PS1='%F{33}%n@%m:%c 🐈 %#%f '

追記したら今後作成するタブには反映されています。
source ~/.zshrc を実行することで現在のタブにも反映されます。

-ターミナル