zsh 設定 - プロンプト -

プロンプトの見た目をカスタマイズします。人によって個性が出るところですね。


プロンプト


PROMPT='[%n@%m]# '
RPROMPT='[%d]'

おそらくシェルをカスタマイズしはじめたときに真っ先に設定いじるところじゃないですかね。私も昔は凝ったものに設定してましたが結局上のようなシンプルなものに落ち着きました。

上の例では PROMPT でホスト名とユーザ名、 RPROMPT でカレントディレクトリを出力していて、こんな感じになります。


[root@localhost]#
[/root]



PROMPT は画面左端、 RPROMPT は画面右端に出力されます


プロンプトは他にも種類がありますが、普段あまり目にすることはないので特に設定は不要です。以下簡単に説明します。 

  • PROMPT2, RPROMPT2
    • コマンドが複数行になった時に表示されるプロンプトです。
  • PROMPT3
    • selece 文を使った時に表示されるプロンプトです。
  • PROMPT4
    • よくわかりません。見たことがありません。
  • SPROMPT
    • correct で訂正の候補を出すときに表示されるプロンプトです。


プロンプトに色付けたりもできます。以下のような設定に変えることで・・・ 

PROMPT='[%F{magenta}%B%n%b%f@%F{blue}%U%m%u%f]# '
RPROMPT='[%F{green}%d%f]'

こんな感じの表示になります。


[root@localhost]# 
[/root]


ただし、色々デコろうとすると PROMPT の設定自体が一見して理解し難くなり次に設定を変えようとするときに結構大変ですので、シンプルなものをおすすめします。


#autoload -U colors
#colors


設定の中のこの2行は色設定に凝っていた時の名残です(笑)



プロンプトで利用できるエスケープ文字


カスタマイズするときに使いそうなものをリストアップしてます。 


    パラメータ出力内容
    %Mホスト名localhost.localdomain
    %mホスト名localhost
    %nユーザ名root
    %#ユーザ種別#(rootの場合)
    %(root以外)
    %yログイン端末名pts/0
    %lログイン端末名pst/0(tty*の場合はttyを省略)
    %?直前のコマンドの戻り値0
    %h
    %!
    コマンド実行数
    (history数)
    1
    %d
    %/
    カレントディレクトリ/root/currentdir
    %~カレントディレクトリ~/currentdir
    %Cカレントディレクトリcurrentdir
    %c
    %.
    カレントディレクトリcurrentdir
    ($PWD=$HOMEの場合は~)
    %D日付12-07-31
    書式)yy-mm-dd
    %W日付07/31/12
    書式)mm/dd/yy
    %w日付Sun 31
    書式)day dd
    %*時間15:50:30
    書式)hh:mm:ss
    %T時間15:50
    書式)hh:mm
    %t
    %@
    時間03:50PM
    書式)hh:mm(am/pm format)


そういえば、私が zsh を使い出したきっかけは RPROMPT に衝撃を受けたからでした。

今となっては bash にも tcsh にも実装されてますが、知人が使っていたターミナル(それが zsh だった)の右側に常に何かが表示されているのを初めて見たときは「こんなことできるのか!」と感動したものです。



【関連】



このブログの人気の投稿

在宅勤務で買ってよかったもの

資産をすべて現金で持つのはホントに安全でしょうか