# --------------------------------------------------------------------------- # # Description: This file holds all my BASH configurations and aliases # # Sections: # 1. Environment Configuration # 2. Make Terminal Better (remapping defaults and adding functionality) # 3. File and Folder Management # 4. Searching # 5. Process Management # 6. Networking # 7. System Operations & Information # 8. Web Development # 9. Reminders & Notes # # --------------------------------------------------------------------------- if [ -f `brew --prefix`/etc/bash_completion ]; then . `brew --prefix`/etc/bash_completion fi if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # Git branch in prompt. parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } # ------------------------------- # 1. ENVIRONMENT CONFIGURATION # ------------------------------- # Change Prompt # ------------------------------------------------------------ # export PS1="\n________________________________________________________________________________\n$BLUEBOLD\$(parse_git_branch) $RED\w $PURPLE@ $GREEN\h $GREENBOLD(\u) $RESETCOLOR=> $WHITE" # Load the shell dotfiles, and then some: # * ~/.path can be used to extend `$PATH`. # * ~/.extra can be used for other settings you don’t want to commit. source ~/.bash_prompt for file in ~/.{bash_prompt}; do [ -r "$file" ] && [ -f "$file" ] && source "$file"; done; unset file; # Set Paths # ------------------------------------------------------------ export PATH="$PATH:/usr/local/bin/" export PATH="/usr/local/git/bin:/sw/bin/:/usr/local/bin:/usr/local/:/usr/local/sbin:/usr/local/mysql/bin:$PATH" # Set Default Editor (change 'Nano' to the editor of your choice) # ------------------------------------------------------------ export EDITOR=/usr/bin/nano # Set default blocksize for ls, df, du # from this: http://hints.macworld.com/comment.php?mode=view&cid=24491 # ------------------------------------------------------------ export BLOCKSIZE=1k # Add color to terminal # (this is all commented out as I use Mac Terminal Profiles) # from http://osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/ # ------------------------------------------------------------ export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced # ----------------------------- # 2. MAKE TERMINAL BETTER # ----------------------------- alias subl='/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' alias ls='ls -GFhl' alias cp='cp -iv' # Preferred 'cp' implementation alias mv='mv -iv' # Preferred 'mv' implementation alias mkdir='mkdir -pv' # Preferred 'mkdir' implementation alias ll='ls -FGlAhp' # Preferred 'ls' implementation alias less='less -FSRXc' # Preferred 'less' implementation cd() { builtin cd "$@"; ll; } # Always list directory contents upon 'cd' alias cd..='cd ../' # Go back 1 directory level (for fast typers) alias ..='cd ../' # Go back 1 directory level alias ...='cd ../../' # Go back 2 directory levels alias .3='cd ../../../' # Go back 3 directory levels alias .4='cd ../../../../' # Go back 4 directory levels alias .5='cd ../../../../../' # Go back 5 directory levels alias .6='cd ../../../../../../' # Go back 6 directory levels alias edit='subl' # edit: Opens any file in sublime editor alias f='open -a Finder ./' # f: Opens current directory in MacOS Finder alias ~="cd ~" # ~: Go Home alias c='clear' # c: Clear terminal display alias which='type -all' # which: Find executables alias path='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths alias show_options='shopt' # Show_options: display bash options settings alias fix_stty='stty sane' # fix_stty: Restore terminal settings when screwed up alias cic='set completion-ignore-case On' # cic: Make tab-completion case-insensitive mcd () { mkdir -p "$1" && cd "$1"; } # mcd: Makes new Dir and jumps inside trash () { command mv "$@" ~/.Trash ; } # trash: Moves a file to the MacOS trash ql () { qlmanage -p "$*" >& /dev/null; } # ql: Opens any file in MacOS Quicklook Preview alias DT='tee ~/Desktop/terminalOut.txt' # DT: Pipe content to file on MacOS Desktop