-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzshrc
165 lines (129 loc) · 5.17 KB
/
zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
# 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="../../.dotfiles/zsh/rachel"
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# 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)
# Add wisely, as too many plugins slow down shell startup.
plugins=(brew bundler cp gem git github heroku osx postgres rails rbenv ruby terminalapp zsh_reload)
source $ZSH/oh-my-zsh.sh
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim -f'
else
export EDITOR='mvim -f'
fi
# Compilation flags
export ARCHFLAGS="-arch x86_64"
# ssh
export SSH_KEY_PATH="~/.ssh/id_rsa"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# User configuration
export PATH="$HOME/.bin:$HOME/bin:/usr/local/bin:$HOME/.rbenv/bin:$PATH:/usr/local/sbin:/usr/local/mysql/bin:/usr/sbin:/usr/bin"
export MANPATH=/usr/local/man:/usr/local/mysql/man:/user/local/git/man:$MANPATH
# Pretty print the path
alias path='echo $PATH | tr -s ":" "\n"'
# rbenv
export RBENV_ROOT="/usr/local/var/rbenv"
eval "$(rbenv init -)"
# Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
# hosts
alias rhul='ssh -l brightpromise landofrhul.com'
alias ro='ssh -l rober rachelober.com'
# general shortcuts
alias ..='cd ..'
alias dev='cd ~/Development'
alias wtf='whoami | ps u'
alias log_cleanup='sudo rm -rf /private/var/log/asl/*'
alias show_hidden='defaults write com.apple.Finder AppleShowAllFiles YES && killall Finder && open /System/Library/CoreServices/Finder.app'
alias hide_hidden='defaults write com.apple.Finder AppleShowAllFiles NO && killall Finder && open /System/Library/CoreServices/Finder.app'
alias hdbusy='sudo lsof +D "/Volumes/My Passport"'
# Search history
alias hgrep='history | grep --color'
# Unix
alias l='ls -lAh'
alias la='ls -A'
alias ll='ls -l'
alias ln="ln -v"
alias mkdir="mkdir -p"
# interactive/verbose commands
alias df='df -h'
alias mv='mv -i'
alias rm='rm -i'
for c in cp rm chmod chown; do
alias $c="$c -v"
done
# git aliases
alias gbd='git branch -d'
alias gcob='gcb'
alias grm='git status | grep deleted | awk "{print \$3}" | xargs git rm'
alias gs='gss'
alias gscrub='git branch --merged | grep -v master | xargs git branch -d'
alias gpfoh='git pf origin HEAD'
alias gcf='git commit --fixup'
# Speed up git tab-completions
# http://talkings.org/post/5236392664/zsh-and-slow-git-completion
__git_files () {
_wanted files expl 'local files' _files
}
# OSX doesn't have wget
alias wget='curl -O'
# This way you tell zsh comp to take the first part of the path to be exact, and to avoid partial globs.
# http://lethalman.blogspot.com/2009/10/speeding-up-zsh-completion.html
zstyle ':completion:*' accept-exact '*(N)'
# recommended by brew doctor
export PATH="/usr/local/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
git_branch_desc () {
for line in $(git branch); do
description=$(git config branch.$line.description)
if [ -n "$description" ]; then
echo "$line $description"
fi
done
}
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# If there is a local zshrc, load it at the end
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local