/
.zshrc
144 lines (122 loc) · 4.27 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
if [ -e /etc/profile ] ; then
. /etc/profile
fi
# fpath
if [ -d "/usr/local/share/zsh-completions" ]; then
fpath=(/usr/local/share/zsh-completions $fpath)
fi
if [ -d "${HOME}/.zsh/zsh-completions" ]; then
fpath=("${HOME}/.zsh/zsh-completions" $fpath)
fi
autoload colors
colors
UID_COLOR=${fg[green]}
case ${UID} in
0)
UID_COLOR=${fg[red]}
;;
*)
;;
esac
# VCS
autoload -Uz vcs_info
zstyle ':vcs_info:*' formats '(%s)-[%b]'
zstyle ':vcs_info:*' actionformats '(%s)-[%b|%a]'
precmd () {
psvar=()
LANG=en_US.UTF-8 vcs_info
[[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
}
PROMPT="[%{$UID_COLOR%}%n%{${reset_color}%}@%m] %(!.#.$) "
PROMPT2="%{${fg[blue]}%}%_> %{${reset_color}%}"
SPROMPT="%{${fg[red]}%}correct: %R -> %r [nyae]? %{${reset_color}%}"
RPROMPT="%1(v|%F{green}%1v%f|) %{${fg[blue]}%}[%~]%{${reset_color}%}"
bindkey ' ' magic-space # also do history expansion on space
#WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
WORDCHARS='*'
#------------------------------------------------
#| wordとみなす文字を羅列。
#| C-wタイプすると、このword単位で削れる。
#| $ vi /etc/conf.d/keymaps[C-w]
#| $ vi /etc/conf.d/
#| ・・・みたいな
#------------------------------------------------
bindkey -e # emacsっぽい
#bindkey -v # vi風味
alias -g G='| grep '
alias -g M='| more '
if [ 'Darwin' = $(uname -s) ]; then
alias ls='ls -FG' # Mac
else
alias ls='ls -Fv --color' # Linux
fi
alias ll='ls -l'
alias la='ls -a'
alias be='bundle exec'
setopt auto_pushd
#------------------------------------------------
#| こんなカンジで、cdしたディレクトリをpushd
#| $ cd hoge
#| $ ls
#| hoga/ huge/ hunya/
#| $ pwd
#| /ANY/hoge
#| $ cd hoga
#| $ cd ../huge
#| $ cd ../hunya
#| $ cd -[TAB]
#| 0 -- /ANY
#| 1 -- /ANY/hoge
#| 2 -- /ANY/hoge/hoga
#| 3 -- /ANY/hoge/huge
#| じつはhunyaかfunyaかは悩みどころ
#------------------------------------------------
setopt pushd_ignore_dups # スタックから重複排除
setopt correct
#------------------------------------------------
#| こんなカンジで「それ、typoじゃね?」とか聞いてくれる
#| $ sl
#| zsh: correct 'sl' to 'ls' [nyae]?
#| あたりまえだけどsl導入済みの時はSLが走ります。
#------------------------------------------------
autoload compinit # 色々補完
compinit
# compinit -u # Cygwinの時は-u付けてパーミッションのテストをスルーしないと都合悪かったはず。
# {0-9a-z} -> 0 1 .. 8 9 a b .. y z
setopt braceccl
HISTFILE=$HOME/.zsh-history # 履歴をファイルに保存する
HISTSIZE=100000 # メモリ内の履歴の数
SAVEHIST=100000 # 保存される履歴の数
setopt share_history # 複数のセッションで履歴を共有
setopt hist_ignore_all_dups # 履歴から重複排除
setopt extended_history # 履歴ファイルに時刻を記録
function history-all { history -E 1 } # 全履歴の一覧を出力する
setopt transient_rprompt # 最新行以外の右プロンプトを消してくれるらしい
setopt extended_glob # ^と~使ってファイルを除外
# rbenv
if [ -d ${HOME}/.rbenv ]; then
export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"
eval "$(rbenv init -)"
fi
# Android
if [ -d "${HOME}/Applications/android-platform-tools" ]; then
export PATH="${HOME}/Applications/android-platform-tools:${PATH}"
fi
#THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!!
[[ -s "${HOME}/.gvm/bin/gvm-init.sh" ]] && source "${HOME}/.gvm/bin/gvm-init.sh"
# python env
[[ -s "${HOME}/.pythonbrew/etc/bashrc" ]] && source "${HOME}/.pythonbrew/etc/bashrc"
# original commands
[ -d ${HOME}/bin ] && export PATH="${HOME}/bin:${PATH}"
[ -d ${HOME}/Applications/bin ] && export PATH="${HOME}/Applications/bin:${PATH}"
# scala
if [ -d "${HOME}/Applications/Scala/current" ]; then
export SCALA_HOME="${HOME}/Applications/Scala/current"
export PATH="${SCALA_HOME}/bin:${PATH}"
fi
if [ -d ${HOME}/.scalaenv ]; then
export PATH="${HOME}/.scalaenv/bin:${HOME}/.scalaenv/shims:${PATH}"
eval "$(scalaenv init -)"
fi
# Play Framework
[ -d ${HOME}/Applications/Play/current ] && export PATH="${HOME}/Applications/Play/current:${PATH}"