-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
196 lines (157 loc) · 5.88 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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
source ~/.zplug/init.zsh
# 「ユーザ名/リポジトリ名」で記述し、ダブルクォートで見やすく括る(括らなくてもいい)
zplug "zsh-users/zsh-syntax-highlighting"
zplug "zsh-users/zsh-history-substring-search"
# tcnksm/docker-alias にある zshrc をプラグインとして管理する
# as: のデフォルトは plugin なので省力もできる
zplug "tcnksm/docker-alias", use:zshrc, as:plugin
# frozen: を指定すると全体アップデートのときアップデートしなくなる(デフォルトは0)
zplug "k4rthik/git-cal", as:command, frozen:1
# from: で特殊ケースを扱える
# gh-r を指定すると GitHub Releases から取ってくる
# of: で amd64 とかするとそれを持ってくる(指定しないかぎりOSにあったものを自動で選ぶ)
# コマンド化するときに file: でリネームできる(この例では fzf-bin を fzf にしてる)
zplug "junegunn/fzf-bin", \
as:command, \
from:gh-r, \
rename-to:fzf
# from: では gh-r の他に oh-my-zsh と gist が使える
# oh-my-zsh を指定すると oh-my-zsh のリポジトリにある plugin/ 以下を
# コマンド/プラグインとして管理することができる
zplug "plugins/git", from:oh-my-zsh
# ビルド用 hook になっていて、この例ではクローン成功時に make install する
# シェルコマンドなら何でも受け付けるので "echo OK" などでも可
zplug "tj/n", hook-build:"make install"
# ブランチロック・リビジョンロック
# at: はブランチとタグをサポートしている
zplug "b4b4r07/enhancd", at:v1
zplug "mollifier/anyframe", at:4c23cb60
# if: を指定すると真のときのみロードを行う(クローンはする)
#zplug "hchbaw/opp.zsh", if:"(( ${ZSH_VERSION%%.*} < 5 ))"
# from: では gist を指定することができる
# gist のときもリポジトリと同様にタグを使うことができる
zplug "b4b4r07/79ee61f7c140c63d2786", \
from:gist, \
as:command, \
use:get_last_pane_path.sh
# パイプで依存関係を表現できる
# 依存関係はパイプの流れのまま
# この例では emoji-cli は jq に依存する
#zplug "stedolan/jq", \
# as:command, \
# rename-to:jq, \
# from:gh-r \
# | zplug "b4b4r07/emoji-cli"
# check コマンドで未インストール項目があるかどうか verbose にチェックし
# false のとき(つまり未インストール項目がある)y/N プロンプトで
# インストールする
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
# プラグインを読み込み、コマンドにパスを通す
zplug load --verbose
function _update_ps1()
{
export PROMPT="$(~/.zsh/powerline-zsh/powerline-zsh.py $?)"
}
precmd()
{
_update_ps1
}
export TERM='xterm-256color'
function ks() {
local -a arts
arts=(
"ヽ(`Д´#)ノ ムキー!!"
"(#・∀・)ムカッ!!"
"(# ゚Д゚) ムッ!"
"(# ゚Д゚) ムッカー"
"(#゚Д゚) プンスコ!"
"(#゚Д゚)y-~~イライラ"
"(#^ω^)ビキビキ"
"( ゚д゚)、ペッ"
"(゚Д゚)ゴルァ!!"
)
local rnd=$RANDOM
local max=`expr $#arts - 1`
local i=`expr $rnd % $max`
echo $arts[$i]
}
export LANG=ja_JP.UTF-8
autoload -U compinit
compinit
#
# 履歴
#
HISTFILE=~/.zsh_history
# メモリ上に保存される件数(検索できる件数)
HISTSIZE=100000
# ファイルに保存される件数
SAVEHIST=100000
# rootは履歴を残さないようにする
if [ $UID = 0 ]; then
unset HISTFILE
SAVEHIST=0
fi
# 履歴検索
autoload history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^P" history-beginning-search-backward-end
bindkey "^N" history-beginning-search-forward-end
# 履歴を複数の端末で共有する
setopt share_history
# 直前と同じコマンドの場合は履歴に追加しない
setopt hist_ignore_dups
# 重複するコマンドは古い法を削除する
setopt hist_ignore_all_dups
# 複数のzshを同時に使用した際に履歴ファイルを上書きせず追加する
#setopt append_history
# 履歴ファイルにzsh の開始・終了時刻を記録する
#setopt extended_history
# ヒストリを呼び出してから実行する間に一旦編集できる状態になる
#setopt hist_verify
# 先頭がスペースで始まる場合は履歴に追加しない
#setopt hist_ignore_space
# ファイルに書き出すとき古いコマンドと同じなら無視
#setopt hist_save_no_dups
#
# 色
#
autoload colors
colors
# プロンプト
PROMPT="%{${fg[green]}%}%n@%m %{${fg[yellow]}%}%~ %{${fg[red]}%}%# %{${reset_color}%}"
PROMPT2="%{${fg[yellow]}%} %_ > %{${reset_color}%}"
SPROMPT="%{${fg[red]}%}correct: %R -> %r ? [n,y,a,e] %{${reset_color}%}"
# ls
export LSCOLORS=gxfxcxdxbxegedabagacag
export LS_COLORS='di=36;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;46'
# 補完候補もLS_COLORSに合わせて色が付くようにする
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# lsがカラー表示になるようエイリアスを設定
case "${OSTYPE}" in
darwin*)
# Mac
alias ls="ls -GF"
;;
linux*)
# Linux
alias ls='ls -F --color'
;;
esac
# 大文字小文字を区別しない(大文字を入力した場合は区別する)
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
# cd -<tab>で以前移動したディレクトリを表示
setopt auto_pushd
# auto_pushdで重複するディレクトリは記録しない
setopt pushd_ignore_dups
source /opt/ros/indigo/setup.zsh
source $HOME/catkin_ws/devel/setup.zsh
export EDITOR='atom'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export LIBRARY_PATH=/usr/lib/OpenNI2/Drivers: