Macターミナルのプロンプトの色を変更
※2013/02/12追記
(要調査)下記設定を行った場合、ターミナルの横幅を超える文字列を入力すると表示がおかしくなるようです
コメントで頂きました。ありがとうございます!
制御文字列を \[ \] で囲むといけるようです。
Macのターミナルが
こんな感じや
こんな感じで、プロンプトとコマンドが同じ色で、若干見づらいので変更。
ターミナルで古いものを遡る時も、色付いてた方が見やすいしね。
初期状態
初期状態では以下が設定されているので、これをベースに色を付ける。
$ echo $PS1 PS1='\h:\W \u\$ '
※\h や \W 等の意味は下記URL参照
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/002cngprmpt.html
色
以下の表を参考に色を決定。
Regular | Bold | Underline | Background | |
---|---|---|---|---|
Black | \e[0;30m | \e[1;30m | \e[4;30m | \e[40m |
Red | \e[0;31m | \e[1;31m | \e[4;31m | \e[41m |
Green | \e[0;32m | \e[1;32m | \e[4;32m | \e[42m |
Yellow | \e[0;33m | \e[1;33m | \e[4;33m | \e[43m |
Blue | \e[0;34m | \e[1;34m | \e[4;34m | \e[44m |
Purple | \e[0;35m | \e[1;35m | \e[4;35m | \e[45m |
Cyan | \e[0;36m | \e[1;36m | \e[4;36m | \e[46m |
White | \e[0;37m | \e[1;37m | \e[4;37m | \e[47m |
Reset | \e[0m |
---|
例)
- Red --> \e[0;30m
- Green Bold --> \e[1;32m
試しに
まずはターミナル上で色々試してみる。
環境変数PS1に対し、上記の色の設定を入れれば、それ以降が指定の色になるのだけれど、コマンドも同じ色になってしまう為、最後にリセットのコードを入れてやる。
例1
$ PS1='\e[0;31m\h:\W \u\$ \e[0m'
例2
$ PS1='\e[1;34m\h:\W \e[1;32m\u\$ \e[0m'
例3
$ PS1='\e[46m\h:\W \u\$\e[0m '
設定
色が決まれば、単純に『~/.bash_profile』に設定を追記すればOK。
...のはずなんだけど、Macのターミナルは初期で背景色が違うプロファイルが複数あり、どのプロファイルでターミナルを立ち上げても、同じPS1になり、かえって見づらくなってしまう。
そこでプロファイル毎の設定を行う。
『ターミナル > 環境設定 > 設定するプロファイル > シェル』 の『起動』に以下を設定。
- 『コマンドを実行』にチェックを入れ、『PS1='(実際に設定する値)'; clear』を入力
- 『シェル内で実行』にチェックを入れる
※ターミナルを立ち上げる度、コマンド履歴にPS1の設定が残ってしまうのが難点。