zsh 設定 - プロンプト -
プロンプトの見た目をカスタマイズします。人によって個性が出るところですね。
PROMPT='[%n@%m]# '
RPROMPT='[%d]'
[root@localhost]#
PROMPT は画面左端、 RPROMPT は画面右端に出力されます。
ただし、色々デコろうとすると PROMPT の設定自体が一見して理解し難くなり次に設定を変えようとするときに結構大変ですので、シンプルなものをおすすめします。
#autoload -U colors
#colors
設定の中のこの2行は色設定に凝っていた時の名残です(笑)
カスタマイズするときに使いそうなものをリストアップしてます。
そういえば、私が zsh を使い出したきっかけは RPROMPT に衝撃を受けたからでした。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# prompt
#autoload -U colors
#colors
PROMPT='[%n@%m]# '
RPROMPT='[%d]'
プロンプト
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 だった)の右側に常に何かが表示されているのを初めて見たときは「こんなことできるのか!」と感動したものです。
【関連】
【関連】