.zshrc メモ

あるWebプログラマーの作業環境――豪傑の三種の神器【後編】 (1/3) - ITmedia エンタープライズ
に触発されてtcsh->zshに乗り換えた!影響されやすすぎだが後悔はしていない。

.zshrc

ネットに落ちてたのをコピペしまくって完成。とりあえずは、こんな所か。

## 環境変数定義
export LANG=ja_JP.UTF-8
export EDITOR="vi" # 標準エディタを vi にする。Debian Policy Manual 参照
export MANPATH=/usr/local/share/man:/usr/local/man:/usr/share/man

## various setting
umask 022     # ファイルを作るとき、どんな属性で作るか。man umask 参照
limit coredumpsize 0		# coreのサイズ
setopt nolistbeep		# beep off
setopt prompt_subst		# エスケープシーケンスを使う。
setopt ignore_eof		# ^Dでログアウトしないようにする。

## prompt設定
local GREEN=$'%{\e[1;32m%}'
local YELLOW=$'%{\e[1;33m%}'
local BLUE=$'%{\e[1;34m%}'
local DEFAULT=$'%{\e[1;m%}'
PROMPT=$GREEN'%n@%m'$DEFAULT':%(!.#.$) '
PROMPT2=$GREEN'%_'$DEFAULT':%(!.#.$) '
RPROMPT="$YELLOW%~$DEFAULT:[%!]"
SPROMPT="$BLUE correct$DEFAULT: %R -> %r ? "

## 入力支援
bindkey -e			# emacs like keybind
autoload -U compinit
compinit		  # 補完機能強化
setopt correct		  # 入力したコマンド名が間違っている場合に修正
setopt list_packed	  # 補完候補を詰めて表示
zstyle ':completion:*:default' menu select=1 # 補完侯補をEmacsのキーバインドで動き回る

## directory移動支援
setopt auto_cd			# directory名だけで移動可
setopt auto_pushd		# 移動したdirectoryを記録
setopt pushd_ignore_dups	# 同じdirectory名をpushdしない

## 履歴検索機能のショートカット設定
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

## 履歴の設定
HISTFILE=$HOME/.zsh-history    # 履歴の保存先
HISTSIZE=100000		       # メモリに展開する履歴の数
SAVEHIST=100000		       # 保存する履歴の数
setopt share_history	       # 同一ホストで動いているZshで履歴を共有
setopt extended_history

## aliases
alias eval-ssh='eval `ssh-agent -c`'
alias rm='rm -i'
alias ll='ls -alF'
alias la='ls -a'
alias ls='ls -F --color=tty'
alias mv='mv -i'
alias cp='cp -i'
alias x='exit'
alias h='history'
alias acroread='env LANG=C acroread'
alias gnuplot='gnuplot -bg white'
alias less='less -r'
alias emacs='env XMODIFIERS=@im=none emacs'
alias chrome='(google-chrome) 2> /dev/null'
alias crontab='crontab -i'