# A handy j() function, printing some useful info in bash cmdline j() { printf '\n\e[0;35m%(%Y/%m/%d (%a) %H:%M:%S)T\e[0m ' -1 printf '\n\e[0;33m%s@%s\e[0m ' "$USER" "${HOSTNAME/.*/}" if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then local GIT_CLEAN= local GIT_REF=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) git diff-index --quiet HEAD && GIT_CLEAN=1 if [ "$GIT_CLEAN" ]; then printf '\e[0;32mgit:%s(clean) ' "$GIT_REF" else printf '\e[0;31mgit:%s(dirty) ' "$GIT_REF" fi fi printf '\e[0;34m' } # end of function j() # Simple bash prompt PS1='$PWD \$ \[\033[0m\]' # Enable Control-O in readline bash stty discard undef # Bind Control-O to execute my j() bash function bind -x '"\C-o": j'