# Path to your oh-my-zsh configuration. ZSH=$HOME/dotfiles/zsh/oh-my-zsh ZSH_CUSTOM=$HOME/dotfiles/zsh/oh-my-zsh-custom # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="cinaeco" # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" # Set to this to use case-sensitive completion # CASE_SENSITIVE="true" # Comment this out to disable weekly auto-update checks DISABLE_AUTO_UPDATE="true" # Uncomment following line if you want to disable colors in ls # DISABLE_LS_COLORS="true" # Uncomment following line if you want to disable autosetting terminal title. DISABLE_AUTO_TITLE="true" # Uncomment following line if you want red dots to be displayed while waiting for completion # COMPLETION_WAITING_DOTS="true" # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) plugins=(git vi-mode) source $ZSH/oh-my-zsh.sh # Customize to your needs... ## history alias h='history' ## don't show expansions, just execute, e.g. for !! and !$ setopt nohistverify ## don't have the same history across tabs/windows setopt nosharehistory ## folder listing/traversal alias l='ls' alias ll='ls -hl' alias la='ls -A' alias lal="ls -Ahl" alias cd..='cd ..'; alias ..='cd ..' alias -g ...="../.." alias -g ....="../../.." alias -g .....="../../../.." ## file manipulation alias mkdir='nocorrect mkdir' alias mv='nocorrect mv' alias cp='nocorrect cp' alias touch='nocorrect touch' alias ln='nocorrect ln' ## host file alias hosts='vim /etc/hosts' ## preferred git shortcuts not in the git plugin alias ga.='git add .' alias gs='git status' alias gd='git diff' alias gds='git diff --staged' alias gl='git log --pretty=oneline --graph' alias glg='git log --graph' alias glp='git log -p' alias gls='git log --stat' # useful git plugin built-in ones include: # gc, gco, gb, gba, grhh # if you can't guess what they do, I suppose they are not that good afterall ############# # SSH AGENT # ############# # Don't do for OSX, as it has it's own handling of ssh-agent if [ `uname` != Darwin ]; then # Check to see if SSH Agent is already running agent_pid="$(ps -ef | grep "ssh-agent" | grep -v "grep" | awk '{print($2)}')" # If the agent is not running (pid is zero length string) if [[ -z "$agent_pid" ]]; then # Start up SSH Agent # this seems to be the proper method as opposed to `exec ssh-agent bash` eval "$(ssh-agent)" # if you have a passphrase on your key file you may or may # not want to add it when logging in, so comment this out # if asking for the passphrase annoys you #ssh-add # If the agent is running (pid is non zero) else # Connect to the currently running ssh-agent # this doesn't work because for some reason the ppid is 1 both when # starting from ~/.profile and when executing as `ssh-agent bash` #agent_ppid="$(ps -ef | grep "ssh-agent" | grep -v "grep" | awk '{print($3)}')" agent_ppid="$(($agent_pid - 1))" # and the actual auth socket file name is simply numerically one less than # the actual process id, regardless of what `ps -ef` reports as the ppid agent_sock="$(find /tmp -path "*ssh*" -type s -iname "agent.$agent_ppid")" echo "Agent pid $agent_pid" export SSH_AGENT_PID="$agent_pid" echo "Agent sock $agent_sock" export SSH_AUTH_SOCK="$agent_sock" fi fi ## include settings specific to this machine if [[ -r ~/.zshlocal ]]; then source ~/.zshlocal fi