- # vim: ts=4 sw=4 sts=4 ff=unix fenc=utf-8:
- [[ "$-" != *i* ]] && return
- echo "[load] ${BASH_SOURCE:-$0}"
- # git ブランチ表示用
- function __ps1_git_branch() {
- git rev-parse --abbrev-ref HEAD 2>/dev/null|sed "s/^\(.*\)$/(\1)/"
- }
- # git 状態表示用 (変更発生時 ! を表示する)
- function __ps1_git_status() {
- git status --short 2>/dev/null| head -n 1 | sed "s/^.*$/!/"
- }
- # プロンプト設定
- # PS1 : 通常プロンプト定義
- # PS2 : サブプロンプト定義(コマンド入力未完了の際のプロンプト)
- #
- # 特殊文字指定
- # \d : 日付
- # \e : エスケープ
- # \h : ホスト名(最初の「.」まで)
- # \H : ホスト名
- # \n : 改行
- # \s : シェルの名前
- # \t : 現在時刻 (24時間表示 HH:MM:SS)
- # \T : 現在時刻 (12時間表示 HH:MM:SS)
- # \@ : 現在時刻 (12時間表示 [am/pm 形式])
- # \u : 現在のユーザー名
- # \w : 作業ディレクトリ
- # \W : 作業ディレクトリ[当該ディレクトリのみ]
- # \! : コマンド履歴番号
- # \# : コマンド番号
- # \$ : 実行UIDが0の場合#、それ以外の場合$
- # \nnn : 8進数nnnに対応する文字
- # \[ : 非表示文字シーケンス開始
- # \] : 非表示文字シーケンス終了
- #
- # 以下、ANSIエスケープコードで、echo -e による出力にも利用可能です。
- #
- # 装飾
- # 装飾無 : \e[0m
- # 太字 : \e[1m
- # 細字 : \e[2m
- # イタリック : \e[3m
- # 下線 : \e[4m
- # ブリンク : \e[5m
- # 高速ブリンク: \e[6m ※未対応の端末が多い
- # 反転表示 : \e[7m
- # 表示を隠す : \e[8m ※コピーは可能
- # 取り消し : \e[9m
- #
- # 色 : 文字色 高輝度文字 背景色 高輝度背景色
- # 黒色 : \e[30m \e[90m \e[40m \e[100m
- # 赤色 : \e[31m \e[91m \e[41m \e[101m
- # 緑色 : \e[32m \e[92m \e[42m \e[102m
- # 黄色 : \e[33m \e[93m \e[43m \e[103m
- # 青色 : \e[34m \e[94m \e[44m \e[104m
- # 紫色 : \e[35m \e[95m \e[45m \e[105m
- # 水色 : \e[36m \e[96m \e[46m \e[106m
- # 白色 : \e[37m \e[97m \e[47m \e[107m
- #
- # デフォルト : \e[39m \e[49m
- #
- #
- # 移動系
- # n 上に移動 : \e[nA
- # n 下に移動 : \e[nB
- # n 右に移動 : \e[nC
- # n 左に移動 : \e[nD
- # n 行下移動 : \e[nE
- # n 行上移動 : \e[nF
- # n 列に移動 : \e[nG
- # n,m に移動 : \e[n;;mH or \e[n;mf
- # 消去 : \e[0J カーソル以降を消去
- # \e[1J カーソル以前を消去
- # \e[2J 全体を消去
- # 行消去 : \e[0K カーソル以降を消去
- # \e[1K カーソル以前を消去
- # \e[2K 全体を消去
- # スクロール : \e[nS n 行分次にスクロール
- # \e[nT n 行分前にスクロール
- # SGR : \e[nm
- #
- #
- C_BLK='\[\e[30m\]'
- C_RED='\[\e[31m\]'
- C_GRN='\[\e[32m\]'
- C_YEL='\[\e[33m\]'
- C_BLU='\[\e[34m\]'
- C_MAG='\[\e[35m\]'
- C_CYN='\[\e[36m\]'
- C_WHT='\[\e[37m\]'
- C_CLR='\[\e[39m\]'
- PS1_PROMPT=
- PS1_PROMPT="${PS1_PROMPT}${C_CYN}[\u@\h:\W"
- PS1_PROMPT="${PS1_PROMPT}${C_YEL}\$(__ps1_git_branch)"
- #PS1_PROMPT="${PS1_PROMPT}${C_RED}\$(__ps1_git_status)"
- PS1_PROMPT="${PS1_PROMPT}${C_CYN}]\\$ "
- PS1_PROMPT="${PS1_PROMPT}${C_CLR}"
- PS1="${PS1_PROMPT}"
- PS2='>'