macOSターミナルでzshプロンプトをカスタマイズする方法

バージョン10.15Catalinaへのアップデート以降、macOSにはターミナルアプリのBashではなくZシェル(zsh)がデフォルトで含まれています。とはいえ、ターミナル内には同じ黒いウィンドウと白いテキストが表示されます。物事はそのようにとどまる必要はありません。

zshプロンプトをスプルースアップして、最小限に抑え、スペースを最大限に活用することができます。ターミナルアプリのzshプロンプトをカスタマイズして、選択した背景で目立つようにする方法を説明します。

zshプロンプトの基本

ターミナルアプリを起動すると、最後のログインやコマンドプロンプトなど、いくつかの役立つ情報が表示されます。これは、プロンプトがデフォルトで通常どのように見えるかです。

 Last login: Wed Feb 3 22:00:40 on console
samir@MacBook-Air ~ %

zshプロンプトには、ユーザー名と、MacBook Air、MacBook Pro、MacMiniなどのコンピュータのモデルで構成されるテキストの文字列が表示されます。チルダ(〜)は、ホームディレクトリ内のプロンプトの場所を示します。

関連: Macでターミナルを開く方法

すべての設定を保存するZシェルプロファイルを作成する

通常、デフォルトの外観を変更するには、システムファイルをいじくり回す必要があります。これは、macOSの更新により、すべてのシステムファイルがデフォルトにリセットされ、行ったすべての変更が失われるためです。

したがって、ドットファイルと呼ばれる特定の設定ファイルをzshプロファイル用に作成して、必要なすべての変更と設定をzshプロンプトに保存できます。

まあ、macOSではデフォルトでこのドットファイルは見つからないので、作成する必要があります。 zshプロンプトの外観や動作などのすべての設定を保存するには、新しい.zshrcプロファイルを作成することをお勧めします。

zshプロファイル(dotfile)を作成する方法は次のとおりです。

1.ターミナルアプリを開きます。

2.次のコマンドを入力して、Returnキーを押します。

 touch ~/.zshrc

これにより、ユーザーアカウントのホームディレクトリに.zshrcプロファイルが作成されます。非表示のシステムファイルの表示を有効にしている場合は、Finderの/ User / <username> /パスの下に表示されます。

その後、ターミナルを起動するたびに、ログインシェルとインタラクティブシェルでzshプロファイルを使用できるようになります。ただし、SSHセッションではアクティブになりません。

zshプロンプトに加えたいすべての変更は、このプロファイルに含めることができます。

ターミナルでzshプロンプトをカスタマイズする

通常、デフォルトのzshプロンプトには、ユーザー名、マシン名、ユーザーのホームディレクトリから始まる場所などの情報が含まれています。これらの詳細は、/ etc / zshrcの場所にあるzshシェルのシステムファイルに保存されます。

 PS1="%n@%m %1~ %#"

この変数の文字列:

  • %nはアカウントのユーザー名です。
  • %mはMacBookのモデル名です。
  • %1〜記号は、〜が$ HOMEディレクトリの場所を削除する現在の作業ディレクトリパスを意味します。
  • %#は、シェルがroot(管理者)権限で実行されている場合はプロンプトに#が表示され、そうでない場合は%が表示されることを意味します。

デフォルトのzshプロンプトに変更を加えるには、プロンプトの表示に関連する値を追加して、デフォルトとは異なる方法で表示する必要があります。

これがその方法です。ターミナルを開き、次のコマンドを入力して、Enterキーを押します。

 nano ~/.zshrc

初めてアクセスする場合は空白になります。テキストPROMPT = '…'を使用して新しい行を追加し、関連する値を楕円に含めることができます。

zshプロンプトを簡単に変更するには、これらの値を.zshrcプロファイルに入力します。

 PROMPT='%n~$'

Ctrl + Oを押してファイルへの変更を確認してから、 Ctrl + Xを押してnanoエディターを終了します。

新しいターミナルウィンドウを開いて、今行った変更を確認して表示します。新しいzshプロンプトには、Macのユーザー名、ホームディレクトリ、および最後に$記号が表示されます。

zshプロンプトに日付と時刻を追加する

ユーザー名とは別に、現在の日付または時刻を追加して、アクティブなターミナルウィンドウから目をそらしてその情報を確認する必要がないようにすることができます。

ターミナルを起動し、.zshrcプロファイルを開きます。

 nano ~/.zshrc

プロンプトに日付を含めるには、日付をyy-mm-dd形式で表示する場合は%Dを使用し、mm / dd / yy形式で表示する場合は%Wを使用します。次に、新しいプロンプトは次のように表示されます。

 PROMPT='%n:%W:~$'

zshプロンプトにシステム時刻を含める場合は、現在時刻に24時間形式で%Tを追加するか、午前/午後または12時間形式で表示する時刻に%tを追加するか、%*を使用してを表示します。秒と24時間形式の時間。

 PROMPT='%n:%T:~$'

zshプロンプトでテキストに色を追加する

zshプロンプトの白いテキストに飽きていますか?ターミナルアプリを色で変更する以外に、テキストに色を追加して、見栄えの良い休憩をとることができます。

ターミナルを起動し、.zshrcプロファイルを開きます。

 nano ~/.zshrc

zshは、背景を補完するように、プロンプトテキストの色とグレーの色合いをサポートします。前景色(テキスト)の色は、黒、白、黄色、緑、赤、青、シアン、マゼンタの間で選択できます。

使い方は次のとおりです。

 PROMPT='%F{cyan}%n%f:~$'

特定の色合いを選択する場合は、ターミナルがサポートする0〜256の8ビットカラーから選択できます。色の数値の使い方は次のとおりです。

 PROMPT='%F{51}%n%f:~$'

着色したい関連テキストの間に、%Fと%fのデフォルトの前景色変数を配置する必要があります。

zshプロンプトでの視覚効果の追加

プロンプトのテキストに色を付けるだけでは不十分な場合は、zshプロンプトを強調表示して、テキストの壁の中で目立つようにし、簡単に見つけることができます。手始めに、zshプロンプトを太字にすることができます。

 PROMPT='%B%F{51}%n%f%b:~$'

最初に%Bを追加し、関連するテキストの最後に%bを置くと、太字になります。

同様に、テキストを強調表示するために、最初に%Sを、最後に%sを置くことができます。ハイライトは、%S変数と%s変数の間に表示するために選択したのと同じ色になります。

 PROMPT='%S%F{51}%n%f%s:~$'

zshプロンプトのテキストに下線を引くこともできます。プロンプトにアンダースコアを追加するために、関連するテキストの最初に%U変数を、最後に%uを含めることができます。

 PROMPT='%U%F{51}%n%f%u:~$'

zshプロンプトから最後のログインの詳細を削除する

ターミナルアプリで最後のログイン時刻を表示するトップラインを非表示または無効にすると、zshプロンプトの外観がすっきりします。次のコマンドを使用して、その情報を非表示にできます。

 touch ~/.hushlogin

次回ターミナルを開いたとき、zshプロンプトの上には何も表示されません。

ターミナルでzshプロンプトにスパイスを加える

macOSでターミナルアプリをときどき使用する場合でも、zshプロンプトの表示方法を微調整できます。太字、下線、短縮、さらには日付と時刻を含めることができます。

zshプロンプトのカスタマイズを開始したので、少し実験して独自のプロンプトを作成します。