# vim:syntax=sh if [[ "`whoami`" == "root" ]]; then PS1='\[\033[31;1m\]\u@\H\[\033[32;1m\] [\w]\[\033[35;1m\] \d \t \[\033[34;1m\](\j)\n\$ \[\033[0m\]' else PS1='\[\033[32;1m\]\u@\H\[\033[31;1m\] [\w]\[\033[35;1m\] \d \t \[\033[34;1m\](\j)\n\$ \[\033[0m\]' fi # alternate PS1: # PS1='[\[\033[31;1m\]\u@\H\[\033[34;1m\] \w\[\033[0m\]]\$ \[\033[0m\]' case "$TERM" in [ax]term*|rxvt*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' ;; *) ;; esac alias grep='grep --color=auto' alias grepnosvn='grep --color=auto --exclude-dir=".svn"' alias egrepnosvn='egrep --color=auto --exclude-dir=".svn"' alias gvim='gvim --remote-tab-silent' alias cribbage='cribbage -r' alias backgammon='backgammon -r -pb' # put 'cattodo' in $PROMPT_COMMAND to use alias cattodo='if [[ $LAST_WD != $PWD ]]; then if [[ -r .todo ]]; then cat .todo; fi; LAST_WD=$PWD; fi' alias ls='ls --color=auto' export LESS='Ri' function mark() { local MARKS_FILE=${HOME}/.marks local param="$1" if [[ ! -f ${MARKS_FILE} ]]; then touch ${MARKS_FILE} fi case "$param" in -g) local mark_name="$2" local mark_dir=$(grep "^$mark_name:" ${MARKS_FILE} | sed -e 's/[^:]*://') if [[ "$mark_dir" != "" ]]; then cd "$mark_dir" else echo "\`$mark_name' is NOT in mark list!" fi ;; -s) local mark_name="$2" local mark_dir=$(grep "^$mark_name:" ${MARKS_FILE} | sed -e 's/[^:]*://') echo "$mark_dir" ;; -h|--help) echo "mark []: mark (default \$PWD) as " echo "mark -g : goto mark " echo "mark -s : show mark " echo "mark -d : delete mark " echo "mark -l : list all marks" ;; -l) cat ${MARKS_FILE} ;; -d) local mark_name="$2" grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp mv ${MARKS_FILE}.tmp ${MARKS_FILE} ;; -*) echo "Unrecognized option" ;; *) local mark_name="$1" local mark_dir="$2" if [[ "$mark_dir" == "" ]]; then mark_dir=`pwd` fi grep -v "^$mark_name:" ${MARKS_FILE} > ${MARKS_FILE}.tmp mv ${MARKS_FILE}.tmp ${MARKS_FILE} echo "$mark_name:$mark_dir" >> ${MARKS_FILE} ;; esac } export EDITOR=vim function git-config-joshs() { git config --global user.name 'Josh Holtrop' local domain='gmail.com' git config --global user.email 'jholtrop+git@'${domain} git config --global color.ui true git config --global core.excludesfile ${HOME}/.gitignore git config --global core.pager 'less -FRXi' git config --global alias.dc 'diff --cached' } function svn-contributors() { svn log -q "$@" | grep -Ev '^-{30}' | cut -d '|' -f2 | awk '{ print $1 }' | sort | uniq -c | sort -n } if [[ "$(which jsvn)" != "" ]]; then alias svn='jsvn' fi # source any machine-local aliases # this way ~/.bash_aliases can be a symlink to a version-controlled # aliases file if [ -f ~/.bash_aliases.local ]; then . ~/.bash_aliases.local fi