シンプルなプロンプト
普通デフォルトのプロンプトだと
[username@servername pwd]$
って感じですけど、ちょっと長い
特にローカルで作業してる場合などはサーバ名やユーザーネームなど出る必要も特にない
そこでできるだけシンプルで短いプロンプトにしてみることにしました
bashの場合
一番シンプルなのがこれ
PS1='\[\033[7m\]\W\[\033[0m\]\$ '
反転表示のカレントディレクトリと$マークのみが表示される
外部サーバにログインしているときは、プロンプトにサーバ名やユーザ名が出ていたほうが都合がいいので、こんな感じ
PS1='\[\033[7m\]\u\[\033[0m\]\h\[\033[7m\]\W\[\033[0m\]\$ '
zshの場合
bashと表記が違うけど内容は同じで、一番シンプルなのがこちら
PROMPT='%S%1~%s%(!.#.%%) '
ユーザー名とサーバ名を表示するパターンがこちら
PROMPT='%S%n%s%m%S%1~%s%(!.#.%%) '
実際はこれにプラスしてoh-my-zshのgitプラグインを利用して画面右側にgitリポジトリの状態を表示して使っていますが、そちらは省略
追記(色付きバージョン)
最近色気づいてきたので(?)プロンプトに色をつけてみました
- bashのシンプル色付きバージョン
PS1='\[\e[1;7;32;44m\]\W\[\e[0m\]\[\e[1;32m\]\$\[\e[0m\] '
- bashのサーバ名付き色付きバージョン
PS1='\[\e[1;7;32;44m\]\u\[\e[0m\]\[\e[1;32m\]\h\[\e[0m\]\[\e[1;7;32;44m\]\W\[\e[0m\]\[\e[1;32m\]\$\[\e[0m\] '
表記の中の1;7;32;44というのはbold(1)で反転(7)でフロントカラーがGreen(32)(boldと組み合わさるとLight Green)、バックカラーがBlue(44)、というややこしいものです
色の種類はこんな感じ
文字色 | 番号 | 背景色 | 番号 | bold体文字色 | 番号 |
---|---|---|---|---|---|
Black | 30 | Black | 40 | Dark Gray | 1;30 |
Blue | 34 | Blue | 44 | Light Blue | 1;34 |
Green | 32 | Green | 42 | Light Green | 1;32 |
Cyan | 36 | Cyan | 46 | Light Cyan | 1;36 |
Red | 31 | Red | 41 | Light Red | 1;31 |
Purple | 35 | Purple | 45 | Light Purple | 1;35 |
Brown | 33 | Brown | 43 | Yellow | 1;33 |
Light Gray | 37 | Light Gray | 47 | White | 1;37 |
効果 | 番号 |
---|---|
bold | 1 |
下線 | 4 |
反転 | 7 |
- zshのシンプル色付きバージョン
PROMPT='%S%{$fg_bold[green]%}%{$bg[blue]%}%1~%{$reset_color%}%s%{$fg_bold[green]%}%(!.#.%%)%{$reset_color%} '
- zshのサーバ名付き色付きバージョン
PROMPT='%S%{$fg_bold[green]%}%{$bg[blue]%}%n%{$reset_color%}%s%{$fg_bold[green]%}%m%{$reset_color%}%S%{$fg_bold[green]%}%{$bg[blue]%}%1~%{$reset_color%}%s%{$fg_bold[green]%}%(!.#.%%)%{$reset_color%} '
zshでこのような表記で色を使う場合は事前にこのようにcolor機能をロードしておく必要があるみたい
autoload -Uz colors && colors
oh-my-zshとか使ってるとすでにどこかでロードしてるのか、とくにzshrcに書く必要はありませんでした
使える色名は
色名 |
---|
black |
green |
blue |
cyan |
red |
yellow |
magenta |
white |