PR

ターミナルのプロンプトの文字・色を変更する(zシェル)

tips TIPS

ターミナルは皆様日常的に使われていると思いますが、プロンプトの見た目のカスタマイズはしていますか?
作業効率の向上、作業ミスの防止などの効率化アップはもちろん、自分のスタイルにするとモチベーションも上がりますよね。また、最近では画面共有することも多いので、人に見せるためのプロンプトも一つ作っておくと役立ちますよ。
本記事ではbash大好き筆者が、zシェルの設定に困らないために、zシェルにスポットを当てたターミナルのプロンプトの文字や色を変更する方法について解説していきます。

プロンプトとは?

まず最初に簡単におさらい。
プロンプトとは、ターミナルやコマンドラインインターフェースで、ユーザーにコマンド入力を促す表示部分のことです。説明文にするとわかりにくいですが、以下のような表示のことですね。

username@hostname:~$

ユーザー名やホスト名、現在のディレクトリなどに設定されていることが多いです。この表示はカスタマイズ可能です。

プロンプトを変更するための環境変数

ターミナルのプロンプトは、主に「PS1」という環境変数によって設定されています。PS1には、表示内容や色を指定するためのエスケープシーケンスが含まれています。

PS1環境変数の確認

まずは、現在のPS1設定を確認してみましょう。ターミナルで以下のコマンドを入力します。

echo $PS1

どんな表示が出たでしょうか?
私の環境では以下のようになりました。

%n@%m %1~ %# 

上記エスケープシーケンスの意味は以下の通りです:

シーケンス説明
%nユーザー名
%mホスト名
%1現在のディレクトリ名
%#一般ユーザーの場合は %、rootの場合は #

プロンプトの変更方法

プロンプト内容の変更

自分自身のプロンプトのみを変更するには、まず使用しているシェルに合わせた設定ファイルを編集します。

vi ~/.zshrc

このファイルにPS1環境変数を設定していきます。設定が含まれていなければ末尾にPS1環境変数を追加すればOKです。
例えば以下のように設定すると、プロンプトにユーザー名とホスト名、現在のディレクトリ、現在の日時が表示されるようになります。

export PS1='%n@%m[%D %T] %d %# '

いつどんな設定をしたかの作業証跡としても使えるので、日時の設定はオススメです。

色を追加する

プロンプトに色を追加することもできます。

export PS1='%F{green}%n@%m%f %F{blue}%~%f %# '

‘%F{色}設定内容%f で囲む感じですね。bashと違い、文字色をそのまま書けば良いのがわかりやすいですね。

設定ファイルを保存して反映させる

設定ファイルを編集したら保存してからエディタを終了させ、新しい設定を反映させましょう。

source ~/.zshrc

これで、新しいプロンプトが表示されるようになります。

他の設定方法

システムデフォルトの設定を変更

システム全体のデフォルトのプロンプトを変更することも可能です。
各個人で設定可能なのであまり使うことはないかもしれませんが、参考までに載せておきますね。

vi /etc/zshrc

設定内容は個人と同じです。

1回限りの変更

1回のみ変更したい場合は、以下のコマンドで可能です。

PS1='%n@%m[%D %T] %d %# '

急に画面共有することになり、ホスト名とか隠したい情報がある!という場合に役立ちますよ。
お気に入りのプロンプトをいくつかストックしておくのもおススメです。

まとめ

ターミナルプロンプトはよく使うものなので、自分好みにカスタマイズすることで作業効率が大きく向上するでしょう。基本的な文字や色の変更から始めて、自分だけのオリジナルスタイルを見つけてくださいね。