root/dotfiles/zsh/cho45/.zshrc @ 29406

Revision 29406, 5.4 kB (checked in by cho45, 6 years ago)

.zshrc 更新

  • Property svn:executable set to *
Line 
1# vim:set ft=zsh:
2# ~/.zshrc はサーバなどに転送して単体で使えるように
3# 自分管理のマシンなどは ~/.zsh/mine.zshrc に追加の設定をする
4
5stty intr 
6
7export FLEX_HOME=$HOME/sdk/flex3sdk
8export PATH=$HOME/bin:$FLEX_HOME/bin:/usr/local/ruby1.9/bin:/usr/local/vim7/bin:/usr/local/screen/bin:/opt/local/sbin:/opt/local/bin:/usr/local/bin:$PATH
9
10unset PS1
11
12export PAGER="less --quit-if-one-screen --RAW-CONTROL-CHARS"
13export LESS='-X -i -P ?f%f:(stdin).  ?lb%lb?L/%L..  [?eEOF:?pb%pb\%..]'
14export EDITOR=vim
15export LANG=ja_JP.UTF-8
16
17export PERL5LIB=lib
18
19bindkey -e
20bindkey -D vicmd
21bindkey -r '^X^V'
22
23help! () { zle -M "E478: Don't panic!" }
24zle -N help!
25
26autoload zargs
27
28# 日本語用
29setopt print_eight_bit
30
31# 補完キー連打で候補移動
32setopt auto_menu
33
34# ディレクトリ名だけで cd
35#setopt auto_cd
36
37# コマンド名スペルチェック
38setopt correct
39
40#
41setopt auto_name_dirs
42
43# ヒストリは追記
44# setopt append_history
45
46# シェルのプロセスごとに履歴を共有
47setopt share_history
48
49# 実行時にディレクトリのスラッシュ外す
50setopt auto_remove_slash
51
52# 括弧とか補完
53setopt auto_param_keys
54
55# ヒストリを詳しく
56setopt extended_history
57
58# 連続する同じコマンドは記録しない
59setopt hist_ignore_dups
60
61# スペースから始まるコマンドは記録しない
62setopt hist_ignore_space
63
64# すごいプロンプト
65setopt prompt_subst
66
67# 同じディレクトリなら pushd しない
68setopt pushd_ignore_dups
69
70setopt auto_pushd
71
72# 高機能な glob
73setopt extended_glob
74
75# 補完候補のファイルタイプ表示
76setopt list_types
77
78# うるさい
79setopt no_beep
80
81setopt always_last_prompt
82setopt cdable_vars
83setopt sh_word_split
84setopt ignore_eof
85
86# 終了コード表示。冗長
87#setopt print_exit_value
88
89# 補完
90autoload -U compinit
91compinit -u
92zstyle ':completion:*:default' menu select=1
93zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
94
95autoload predict-on
96zle -N predict-on
97zle -N predict-off
98bindkey '^X^Z' predict-on
99bindkey '^Z' predict-off
100zstyle ':predict' verbose true
101
102# プロンプトの設定。
103# 終了ステータスが 0 でなければ終了ステータスを表示する。
104# 自分の環境の場合は mine.zshrc で上書きされる。
105PROMPT_EXIT="%(?..exit %?
106)
107"
108PROMPT_CWD="%{REMOTE%} %{%}%~%{%}"
109PROMPT_L="
110%{%}%n@%m$%{%}%{%} "
111
112PROMPT="$PROMPT_EXIT$PROMPT_CWD$PROMPT_L"
113RPROMPT='%{%}[%n@%m]%{%}'
114
115HISTSIZE=9999999
116HISTFILE=~/.zsh_history
117SAVEHIST=9999999
118
119if [ `uname` = "FreeBSD" -o `uname` = "Darwin" ]
120then
121        alias ls='ls -FG'
122else
123        alias ls='ls -F --color'
124fi
125alias ll='ls -l'
126alias lm='ls -altrh'
127alias ps='ps aux'
128alias g='git'
129
130alias mvi='mv -i'
131alias cpi='cp -i'
132alias ..='cd ..'
133
134alias wget='noglob wget --no-check-certificate'
135
136alias :q=exit
137alias sudo='sudo env PATH=$PATH'
138
139if [ `uname` = "Darwin" ]; then
140        alias nopaste='curl -F file=@- nopaste.com/a >&1 > >(pbcopy) > >(open `cat`) '
141        alias nonopaste='pbpaste | nopaste'
142else
143        alias nopaste='curl -F file=@- nopaste.com/a'
144fi
145
146autoload -U edit-command-line
147zle -N edit-command-line
148bindkey "^F" edit-command-line
149
150# abbr
151typeset -A abbreviations
152abbreviations=(
153        "L"    "| $PAGER"
154        "G"    "| grep"
155        "CC"    "lib/*/Controller/" # Catalyst Controller
156        "CS"    "lib/*/Schema/"     # Catalyst Schema
157        "CI"    "lib/*/I18N/"       # Catalyst I18N
158        "CV"    "lib/*/View/"       # Catalyst View
159        "CM"    "lib/*/Model/"      # Catalyst Model
160
161        "HEAD^"     "HEAD\\^"
162        "HEAD^^"    "HEAD\\^\\^"
163        "HEAD^^^"   "HEAD\\^\\^\\^"
164        "HEAD^^^^"  "HEAD\\^\\^\\^\\^\\^"
165        "HEAD^^^^^" "HEAD\\^\\^\\^\\^\\^"
166)
167
168magic-abbrev-expand () {
169        local MATCH
170        LBUFFER=${LBUFFER%%(#m)[-_a-zA-Z0-9^]#}
171        LBUFFER+=${abbreviations[$MATCH]:-$MATCH}
172}
173
174magic-abbrev-expand-and-insert () {
175        magic-abbrev-expand
176        zle self-insert
177}
178magic-abbrev-expand-and-insert-complete () {
179        magic-abbrev-expand
180        zle self-insert
181        zle expand-or-complete
182}
183
184magic-abbrev-expand-and-accept () {
185        magic-abbrev-expand
186        zle accept-line
187}
188
189magic-abbrev-expand-and-normal-complete () {
190        magic-abbrev-expand
191        zle expand-or-complete
192}
193
194no-magic-abbrev-expand () {
195        LBUFFER+=' '
196}
197
198zle -N magic-abbrev-expand
199zle -N magic-abbrev-expand-and-insert
200zle -N magic-abbrev-expand-and-insert-complete
201zle -N magic-abbrev-expand-and-normal-complete
202zle -N magic-abbrev-expand-and-accept
203zle -N no-magic-abbrev-expand
204bindkey "\r"  magic-abbrev-expand-and-accept # M-x RET できなくなる
205bindkey "^J"  accept-line # no magic
206bindkey " "   magic-abbrev-expand-and-insert
207bindkey "."   magic-abbrev-expand-and-insert
208bindkey "^I"  magic-abbrev-expand-and-normal-complete
209
210expand-to-home-or-insert () {
211        if [ "$LBUFFER" = "" -o "$LBUFFER[-1]" = " " ]; then
212                LBUFFER+="~/"
213        else
214                zle self-insert
215        fi
216}
217
218zle -N expand-to-home-or-insert
219bindkey "\\"  expand-to-home-or-insert
220
221# vim とかが露頭に迷わないように
222function reload () {
223        local j
224        jobs > /tmp/$$-jobs
225        j=$(</tmp/$$-jobs)
226        if [ "$j" = "" ]; then
227                exec zsh
228        else
229                fg
230        fi
231}
232
233# http://subtech.g.hatena.ne.jp/secondlife/20080604/1212562182
234function cdf () {
235        local -a tmpparent; tmpparent=""
236        local -a filename; filename="${1}"
237        local -a file
238        local -a num; num=0
239        while [ $num -le 10 ]; do
240                tmpparent="${tmpparent}../"
241                file="${tmpparent}${filename}"
242                if [ -f "${file}" ] || [ -d "${file}" ]; then
243                        cd ${tmpparent}
244                        break
245                fi
246                num=$(($num + 1))
247        done
248}
249function cdrake () {
250        cdf "Rakefile"
251}
252
253function cdcat () {
254        cdf "Makefile.PL"
255}
256
257if [ -f "$HOME/.zsh/mine.zshrc" ]
258then
259        source "$HOME/.zsh/mine.zshrc"
260fi
Note: See TracBrowser for help on using the browser.