Newer
Older
bashrc / .bashrc.d / com-prompt
Nomura Kei on 17 Apr 2022 3 KB add com-editor, update com-prompt.
# 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='>'