zshの設定ファイル

1/7に勉強会『変なプログラマーの作り方 第4回』に参加してきました。
第1回に参加して以来、2回目の参加です。


今回のテーマは「スライド」ということでしたが、プレゼンターの一人が欠席だったようでプレゼンターがあいにく2名だけという事態に。


そこで会場で急遽、私も何か喋れという展開になりたまたまその時持っていた本『zsh最強シェル入門』をPCを使った実演を交えながら紹介する事にしてみました。
テーマと全く関係のない内容な上にまだ全体の5分の1も読んでないので、ちょっと無茶しすぎ感は否めません。
結局、本を紹介するというよりはzshの紹介になってしまいました。
まぁそれでもzshの触りの部分くらいは紹介できたんじゃないかと思います。


参加者から「zshは設定ファイルを作るのが大変だから使うの止めたので、
設定ファイルをクレ」という声を聞いたので私の使っている.zshrcの内容を貼っておきます。


まだ発展途上なので今後も変化すると思いますが現時点でのファイルです。

# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=20000
SAVEHIST=20000
setopt hist_ignore_dups
setopt share_history
#function history-all { history -E 1 }
# The following lines were added by compinstall
zstyle :compinstall filename '~/.zshrc'

# assist command option
autoload -Uz compinit
compinit
# End of lines added by compinstall

# environment
export LANG=ja_JP.UTF-8
export LSCOLORS=exfxcxdxbxegedabagacad
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
export EDITOR=emacs
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.06

# color
local GRAY=$'%{\e[1;30m%}'
local LIGHT_GRAY=$'%{\e[0;37m%}'
local WHITE=$'%{\e[1;37m%}'
local LIGHT_BLUE=$'%{\e[1;36m%}'
local YELLOW=$'%{\e[1;33m%}'
local PURPLE=$'%{\e[1;35m%}'
local GREEN=$'%{\e[1;32m%}'
local BLUE=$'%{\e[1;34m%}'
local DEFAULT=$'%{\e[1;m%}'

# propmt
#PROMPT=$BLUE"%/%% "$DEFAULT
#PROMPT2=$BLUE"%_%% "$DEFAULT
#PROMPT=$BLUE'${USER}@{HOSTNAME}%(!.#.$) '$DEFAUL
PROMPT=$BLUE'${USER}@%m%% '$DEFAULT
SPROMPT="%r is correct? [n,y,a,e]: " 
RPROMPT=$GREEN'[%~]'$DEFAULT
setopt PROMPT_SUBST


zstyle ':completion:*' list-colors 'di=34' 'ln=35' 'so=32' 'ex=31' 'bd=46;34' 'cd=43;34'

#p# keymap
bindkey -e # emacs keybind
#bindkey -v # vi keybind

## options
setopt correct
setopt nolistbeep 
# display history of directory
setopt auto_cd 
setopt autopushd
alias gd='dirs -v; echo -n "select number: "; read newdir; cd -"$newdir"'


## set alias
#alias ls="ls -G"
alias ls="ls -G --color=auto" 
alias ll='ls -lrt'
alias vi='/usr/bin/vim'
alias emacs='emacs -nw'
alias cp='cp -i'
#alias gls="gls --color"
alias du="du -h"
alias df="df -h"


## fool ploof
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias javascript='rhino'

# VirtualBoxへのssh接続
alias sshvbox='ssh -p 2222 -l root localhost'