Skip to content

Instantly share code, notes, and snippets.

@dm4
Forked from concise/control-o.bash
Created November 28, 2013 17:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dm4/7695066 to your computer and use it in GitHub Desktop.
Save dm4/7695066 to your computer and use it in GitHub Desktop.
# 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'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment