Macのターミナル(zsh)のプロンプトを変更する方法

先日、MacBook Airを新調したら、ターミナルのデフォルトがbashからzsh(Z Shell)になっていることを知りました。

プロンプトの初期表示を変えたかったのですが、zshを触ったことがなく、なかなか四苦八苦したので、調べたことをまとめておこうと思います。(自分が使いそうなものだけ)

.zshrc の作成

ターミナルのプロンプトの初期表示を変更するためには、そもそも「.zshrc」ファイルをユーザーのホームディレクトリに作成する必要があります。

ターミナルを起動するとホームディレクトリ(/Users/ユーザ名)から始まるはずなので、そこにviとかでファイルを作成すればOKです。

vi .zshrc

設定に使用できる特殊文字

zshには様々な特殊文字が用意されていますが、私がプロンプトで使用しそうな初期表示は以下でした。

カレントディレクトリ

%1~ カレントディレクトリのみ表示
%~ カレントディレクトリをフルパスで表示(ホームディレクトリは「~」で表示)
%d  カレントディレクトリをフルパスで表示

例えば、Desktopディレクトリに移動した場合、それぞれの表示は以下のようになります。(表示順は上の表と同じ。)

% cd Desktop 
Desktop
~/Desktop
/Users/ユーザ名/Desktop

ログイン情報

%n ユーザ名
%m ホスト名

ログイン情報で使うのはこれくらいではないでしょうか。

一応、フルホスト名を表示するための「%M」というものもあります。

日時

%D yy-mm-dd
%w 曜日 dd
%W mm/dd/yy
%T 24時間表記
%t or %@ 12時間表記(am/pm表記)
%* 24時間表記(秒まで表示)

実際の表示例は以下の通りです。(表示順は上の表と同じ。)

20-08-29
土 29
08/29/20
18:40
 6:40PM
18:40:43

プロンプト

%# シェルが特権で実行されている場合は「#」、そうでない場合は「%」を表示

bashでいうところの「¥$」です。

設定の適用

.zshrcを好みの設定で作成し、.zshrcをsourceすれば設定が適用されます。(ターミナルの再起動でも可)

試しに、中身がこんな感じの.zshrcを作成し、(改行は普通に改行すれば良いようです。)

cat .zshrc 
export PS1="[%~] %D %*
%# "

.zshrcをsourceすると、

source .zshrc

設定が適用され、プロンプトが以下のように表示されるようになります。

[~] 20-08-29 18:49:42
%

おまけ(初期設定)

ちなみに、初期設定は以下のようになっていました。

echo $PS1
%n@%m %1~ %#

参考

The following two tabs change content below.

sawada

2011年からIT業界で働いています。 主にJavaを使ったWebシステム開発をやってきました。 2020年3月からフリーランスエンジニアに転向しました。

Related posts