### Aliases # Open specified files in Sublime Text # "s ." will open the current directory in Sublime alias s='open -a "Sublime Text"' # Color LS colorflag="-G" alias ls="command ls ${colorflag}" alias l="ls -lF ${colorflag}" # all files, in long format alias la="ls -laF ${colorflag}" # all files inc dotfiles, in long format alias lsd='ls -lF ${colorflag} | grep "^d"' # only directories # Quicker navigation alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.." # Enable aliases to be sudo’ed alias sudo='sudo ' # Colored up cat! # You must install Pygments first - "sudo easy_install Pygments" alias c='pygmentize -O style=monokai -f console256 -g' # Git # You must install Git first alias gs='git status' alias ga='git add .' alias gc='git commit -m' # requires you to type a commit message alias gp='git push' alias grm='git rm $(git ls-files --deleted)' ### Prompt Colors # Modified version of @gf3’s Sexy Bash Prompt # (https://github.com/gf3/dotfiles) if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then export TERM=gnome-256color elif infocmp xterm-256color >/dev/null 2>&1; then export TERM=xterm-256color fi if tput setaf 1 &> /dev/null; then tput sgr0 if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then MAGENTA=$(tput setaf 9) ORANGE=$(tput setaf 172) GREEN=$(tput setaf 190) PURPLE=$(tput setaf 141) else MAGENTA=$(tput setaf 5) ORANGE=$(tput setaf 4) GREEN=$(tput setaf 2) PURPLE=$(tput setaf 1) fi BOLD=$(tput bold) RESET=$(tput sgr0) else MAGENTA="\033[1;31m" ORANGE="\033[1;33m" GREEN="\033[1;32m" PURPLE="\033[1;35m" BOLD="" RESET="\033[m" fi export MAGENTA export ORANGE export GREEN export PURPLE export BOLD export RESET # get current branch in git repo function parse_git_branch() { BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` if [ ! "${BRANCH}" == "" ] then STAT=`parse_git_dirty` echo "[${BRANCH}${STAT}]" else echo "" fi } # get current status of git repo function parse_git_dirty() { status=`git status 2>&1 | tee` dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"` untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"` ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"` newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"` renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"` deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"` bits='' if [ "${renamed}" == "0" ]; then bits=">${bits}" fi if [ "${ahead}" == "0" ]; then bits="*${bits}" fi if [ "${newfile}" == "0" ]; then bits="+${bits}" fi if [ "${untracked}" == "0" ]; then bits="?${bits}" fi if [ "${deleted}" == "0" ]; then bits="x${bits}" fi if [ "${dirty}" == "0" ]; then bits="!${bits}" fi if [ ! "${bits}" == "" ]; then echo " ${bits}" else echo "" fi } # Change this symbol to something sweet. # (http://en.wikipedia.org/wiki/Unicode_symbols) symbol="⚡ " #export PS1="\n\[${MAGENTA}\]\u \[$RESET\]in \[$GREEN\]\w\[$RESET\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$PURPLE\]\$(parse_git_branch)\[$RESET\]\n$GREEN\T\[$RESET\] $symbol\[$RESET\]" export PS1="\n\[${MAGENTA}\]\u \[$RESET\]in \[$GREEN\]\w\[$RESET\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$PURPLE\]\$(parse_git_branch)\[$RESET\]\n\[$GREEN\]\T\[$RESET\] $symbol\[$RESET\]" export PS2="\[$ORANGE\]→ \[$RESET\]$" ### Misc # Only show the current directory's name in the tab export PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"' export EDITOR="code" export GOPATH="$HOME/src/go" export PATH=$GOPATH/bin:$PATH # init z! (https://github.com/rupa/z) . ~/z.sh