forked from tmsanrinsha/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.zashrc
198 lines (170 loc) · 5.84 KB
/
.zashrc
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
197
198
# vim:filetype=sh
# bash, zsh共通設定
#export PAGER=/usr/local/share/vim/vim73/macros/less.sh
#export PAGER=less
# lessで色つきの表示に対応させる
#export LESS='-R'
#export LESS='-M'
#export LESSOPEN="| /usr/bin/lesspipe.sh %s"
#export LESSCLOSE="/usr/bin/lesspipe.sh %s %s"
export LANG='ja_JP.UTF-8'
export EDITOR='vim'
# PATHの設定 {{{
# ------------------------------------------------------------------------------
# PATHを追加する関数。すでにある場合は追加しない
addPath() {
newPath=$1
position=$2
# newPathがPATHに含まれない場合は追加
echo $PATH | grep "\(^\|:\)$newPath\($\|:\)" 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
case $position in
'pre' )
export PATH="$newPath:$PATH"
;;
'post' )
export PATH="$PATH:$newPath"
;;
* )
echo 'unknown position'; exit 1
;;
esac
fi
}
# シェルスクリプトなどを置くディレクトリ
addPath ${HOME}/bin pre
# makeで作った実行ファイルなどを置くディレクトリ
addPath ${HOME}/local/bin pre
# 正規のコマンドがないときに使う仮のコマンドを置くディレクトリ
addPath $HOME/bin/pseudo post
# Cygwin用のコマンドを置くディレクトリ
if [[ `uname` = CYGWIN* ]]; then
addPath $HOME/bin/cygwin pre
fi
# }}}
# alias {{{
# ------------------------------------------------------------------------------
# ls
if [ `uname` = FreeBSD ];then
export LSCOLORS=exfxcxdxbxegedabagacad
alias ls='ls -G'
else
alias ls='ls --color'
fi
alias l='ls'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias cp='cp -ip'
alias mv='mv -i'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ......='cd ../../../../..'
alias .......='cd ../../../../../..'
# sudo
# http://sanrinsha.lolipop.jp/blog/2012/05/su%E3%83%BBsudo.html
alias sudo='sudo '
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias pg='ps aux | grep'
alias pe='ps aux | egrep'
# tree
# -F:ディレクトリなら/をつけるなど
# -C:color
# -l:ディレクトリのシンボリックリンクを追う
alias tree='tree -FCl'
alias diff='diff -u'
alias smw='sudo chmod a+w'
# vim
alias vi='vim'
alias vie='vim -R' #readonlyで開く。view
if [ -x $HOME/local/share/vim/vim73/macros/less.sh ]; then
alias vl="$HOME/local/share/vim/vim73/macros/less.sh"
fi
alias vsh="vim -c 'VimShell'"
alias vf="vim -c 'VimFiler'"
# svnとtreeの文字化け対策
alias lcc="export LC_CTYPE='C'"
# 日本語入力用
alias lcu="export LC_CTYPE='ja_JP.UTF-8'"
# カレントディレクトリのファイル名をFull Pathで表示
alias fp='find `pwd` -maxdepth 1 -mindepth 1'
# ファイルを解凍するシェルスクリプト
alias dc='decomp.sh'
# find $1 type f -print0 | xargs -0 egrep --color=auto $2
alias fxg='fxg.sh'
# Linuxのバージョンを表示するコマンド
# http://blog.layer8.sh/ja/2011/12/23/linux%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%84os%E5%90%8D%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89linux/
alias linux='cat /etc/`ls /etc -F | grep "release$\|version$"`'
alias phpunit='phpunit --colors'
alias decode_html_entity='php -r '\''echo html_entity_decode($argv[1], ENT_NOQUOTES, "UTF-8")."\n";'\';
#}}}
#manのpagerとしてvimの:Manを使う。
#.vimrcにも設定が必要
#http://vim.wikia.com/wiki/Using_vim_as_a_man-page_viewer_under_Unix
export PAGER="/bin/sh -c \"unset PAGER;col -b -x | \
vim -R -c 'setlocal ft=man nomod nolist' -c 'noremap q :q<CR>' \
-c 'map <SPACE> <C-D>' -c 'map b <C-U>' \
-c 'nmap K :Man <C-R>=expand(\\\"<cword>\\\")<CR><CR>' -\""
#screenがインストールされていて、Screenを起動していないときは自動起動
#ただし、.screenrcでterm xterm-256colorと設定しているとする
#if [ $TERM != 'xterm-256color' ];then
# # すでに screen セッションがある場合そこに接続し、なければ作成する
# # screenがないときのエラーは/dev/nullに送る
# screen -RU 2>/dev/null
#fi
# tmux {{{
if which tmux 1>/dev/null 2>&1; then
# -2は256色のためのオプション
alias tmux='tmux -2'
# すでに tmux セッションがある場合そこに接続し、なければ作成する
alias tm='tmux a || tmux'
# tmuxを起動していないときは自動起動
if [ -z "$TMUX" ];then
tmux -2 a || tmux -2
fi
fi
#}}}
if [ $SHLVL -eq 1 ];then # tmux, screenを起動していないとき
# 回線が切られた時にlogoutする。.bash_logout等を実行するための設定
trap logout HUP
fi
# VVM {{{
test -f ~/.vvm/etc/login && source ~/.vvm/etc/login
# }}}
# svn {{{
alias svnvd='svn diff --diff-cmd ~/bin/svnvimdiff'
# }}}
# gisty {{{
export GISTY_DIR="$HOME/gists"
export GISTY_SSL_VERIFY="NONE"
# }}}
# nvm {{{
# http://sanrinsha.lolipop.jp/blog/2012/03/node-jsnvm.html
if [ -f ~/.nvm/nvm.sh ]; then
# nvm.shにnvm用のMANPATHを追加する部分があるが
# MANPATHはデフォルトだと空なので
# MANPATH="$NVM_DIR/$2/share/man:$MANPATH"
# だとnvmのマニュアルへのPATHのみになってしまうので
# 予めセットしておく
export MANPATH=`manpath`
. ~/.nvm/nvm.sh
nvm alias default v0.6.11 > /dev/null
fi
# }}}
# perl {{{
# ==============================================================================
# perlモジュールの一覧表示。@INCから.(カレントディレクトリ)は取り除く
alias perlls="find `perl -e 'print "@INC"' | sed -e 's/ .$//'` -type f -name \"*.pm\""
#}}}
# .zashrc.cygwin {{{
if [[ `uname` = CYGWIN* && -f ~/.zashrc.cygwin ]]; then
. ~/.zashrc.cygwin
fi
# }}}
# .zashrc.local {{{
if [ -f ~/.zashrc.local ]; then
. ~/.zashrc.local
fi
# }}}