zsh: change zshrc location
[dotfiles.git] / zsh / zshrc
1
2 autoload colors
3 colors
4
5 for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
6 eval _$color='%{$terminfo[bold]$fg[${(L)color}]%}'
7 eval $color='%{$fg[${(L)color}]%}'
8 (( count = $count + 1 ))
9 done
10
11
12 # right prompt
13 #RPROMPT=$(echo "$RED%D %T$FINISH")
14 #PROMPT=$(echo "$CYAN%n[$BLUE%~]$_YELLOW>>$FINISH ")
15 PROMPT=$(echo "%B$CYAN%n$_YELLOW@$BLUE%<<[%~%<<]$_YELLOW>> $WHITE%b")
16
17 export HISTSIZE=10000
18 export SAVEHIST=10000
19 export HISTFILE="$HOME/.zsh_history"
20 setopt INC_APPEND_HISTORY
21 setopt HIST_IGNORE_DUPS
22 setopt EXTENDED_HISTORY
23
24 setopt AUTO_PUSHD       
25 setopt HIST_IGNORE_SPACE
26
27
28
29 export CLICOLOR=1
30 export LSCOLORS=ExFxCxDxBxegedabagaced
31
32         
33
34 man() {
35         env \
36                 GROFF_NO_SGR=$(printf "1")      \
37                 LESS_TERMCAP_mb=$(printf "\e[1;31m") \
38                 LESS_TERMCAP_md=$(printf "\e[1;31m") \
39                 LESS_TERMCAP_me=$(printf "\e[0m") \
40                 LESS_TERMCAP_se=$(printf "\e[0m") \
41                 LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
42                 LESS_TERMCAP_ue=$(printf "\e[0m") \
43                 LESS_TERMCAP_us=$(printf "\e[1;32m") \
44                         man "$@"
45 }
46
47
48 export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/"
49 export DEV_ENV_ROOT=$HOME/android/
50 export ANDROID_NDK_ROOT="${DEV_ENV_ROOT}/android-ndk-r8c/"
51 export ANDROID_SDK_ROOT="${DEV_ENV_ROOT}/android-sdk-macosx/"
52 #export ANDROID_TOOLCHAIN="${DEV_ENV_ROOT}/standalone-toolchain-api14/"
53 export ANDROID_NDK_HOME="$HOME/android/android-ndk-r8c"
54
55
56
57 export ANDROID_TOOLCHAIN="$ANDROID_NDK_HOME/standalone-toolchain-api14/"
58
59
60 export ANDROID_HOME="/Users/peli3/android/android-sdk-macosx/"
61
62 export PATH=$PATH:"${ANDROID_TOOLCHAIN}/bin/":"${ANDROID_HOME}/platform-tools/"
63 export PATH="$HOME/bin":"/usr/local/bin":$PATH
64
65 ###====================
66 #
67 #autoload -U compinit
68 #compinit
69 #zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
70 #zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
71 #
72 #
73 ######################## zsh alias #########################
74
75 alias grep='grep --color -E'
76 #alias mvim='mvim --remote-silent'
77 #alias vim='/usr/local/bin/mvim -v'
78 alias tmux='tmux -2'
79
80 alias l='ls -l'
81 alias ll='ls -l'
82 alias la='ls -a'
83
84 alias diff='colordiff'
85
86 alias mv='mv -i'
87 alias cp='cp -i'
88 alias ln='ln -i'
89
90 #alias svn='colorsvn'
91 alias sed='/usr/local/bin/gsed'
92
93
94
95 ###########################  zsh completion ##########################
96 #
97 #autoload -U compinit
98 #compinit
99
100 #zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
101 #zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
102 #
103 #autoload -U compinit
104 #compinit
105 #
106 #autoload -U promptinit
107 #promptinit
108 #
109 #setopt correctall
110 #
111 #
112 zstyle ':completion:*' menu select
113 setopt AUTOLIST
114 setopt AUTOMENU
115
116
117 autoload -U compinit
118 compinit
119
120
121 WORDCHARS='*?_-[]~=&;!#$%^(){}<>'
122
123
124 ################
125 #
126 #http://techanic.net/2012/12/30/my_git_prompt_for_zsh.html
127 # Adapted from code found at <https://gist.github.com/1712320>.
128
129 setopt prompt_subst
130 autoload -U colors && colors # Enable colors in prompt
131
132 # Modify the colors and symbols in these variables as desired.
133 GIT_PROMPT_SYMBOL="%{$fg[blue]%}±"
134 GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$reset_color%}"
135 GIT_PROMPT_SUFFIX="%{$fg[green]%}]%{$reset_color%}"
136 GIT_PROMPT_AHEAD="%{$fg[red]%}ANUM%{$reset_color%}"
137 GIT_PROMPT_BEHIND="%{$fg[cyan]%}BNUM%{$reset_color%}"
138 GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}⚡︎%{$reset_color%}"
139 GIT_PROMPT_UNTRACKED="%{$fg_bold[red]%}●%{$reset_color%}"
140 GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%}●%{$reset_color%}"
141 GIT_PROMPT_STAGED="%{$fg_bold[green]%}●%{$reset_color%}"
142
143 # Show Git branch/tag, or name-rev if on detached head
144 parse_git_branch() {
145   (git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD) 2> /dev/null
146 }
147
148 # Show different symbols as appropriate for various Git repository states
149 parse_git_state() {
150
151   # Compose this value via multiple conditional appends.
152   local GIT_STATE=""
153
154   local NUM_AHEAD="$(git log --oneline @{u}.. 2> /dev/null | wc -l | tr -d ' ')"
155   if [ "$NUM_AHEAD" -gt 0 ]; then
156     GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$NUM_AHEAD}
157   fi
158
159   local NUM_BEHIND="$(git log --oneline ..@{u} 2> /dev/null | wc -l | tr -d ' ')"
160   if [ "$NUM_BEHIND" -gt 0 ]; then
161     GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$NUM_BEHIND}
162   fi
163
164   local GIT_DIR="$(git rev-parse --git-dir 2> /dev/null)"
165   if [ -n $GIT_DIR ] && test -r $GIT_DIR/MERGE_HEAD; then
166     GIT_STATE=$GIT_STATE$GIT_PROMPT_MERGING
167   fi
168
169   if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
170     GIT_STATE=$GIT_STATE$GIT_PROMPT_UNTRACKED
171   fi
172
173   if ! git diff --quiet 2> /dev/null; then
174     GIT_STATE=$GIT_STATE$GIT_PROMPT_MODIFIED
175   fi
176
177   if ! git diff --cached --quiet 2> /dev/null; then
178     GIT_STATE=$GIT_STATE$GIT_PROMPT_STAGED
179   fi
180
181   if [[ -n $GIT_STATE ]]; then
182     echo "$GIT_PROMPT_PREFIX$GIT_STATE$GIT_PROMPT_SUFFIX"
183   fi
184
185 }
186
187 # If inside a Git repository, print its branch and state
188 git_prompt_string() {
189   local git_where="$(parse_git_branch)"
190   [ -n "$git_where" ] && echo "$GIT_PROMPT_SYMBOL$(parse_git_state)$GIT_PROMPT_PREFIX%{$fg[yellow]%}${git_where#(refs/heads/|tags/)}$GIT_PROMPT_SUFFIX"
191 }
192
193 # Set the right-hand prompt
194 RPS1='$(git_prompt_string)'
195
196 #source ~/Private/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh
197 source ~/Private/zsh_plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
198 # http://stackoverflow.com/questions/3483604/which-shortcut-in-zsh-does-the-same-as-ctrl-u-in-bash
199 bindkey \^U backward-kill-line
200
201 export PYTHONSTARTUP="$HOME/.pythonrc"
202
203 source $HOME/.cpverc
204 source $HOME/.eccrc
205
206 #` git log --oneline --abbrev-commit --all --graph --decorate --color `
207 [[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh