# .zshrc
# Environment
#export LANG=C
export LANG=en_US.UTF-8
#export LANG=ja_JP.UTF-8
#export LC_ALL=ja_JP.UTF-8
export LC_COLLATE=C
#export LC_CTYPE=C
#export LC_MESSAGES=C
export LC_MONETARY=ja_JP.UTF-8
#export LC_NUMERIC=C
#export LC_TIME=C
export EDITOR=vim
export VISUAL=vim
export PAGER=less
export TERM=xterm-color
#export TERM=xterm-256color
export LESS='--ignore-case --LONG-PROMPT --tabs=4 --QUIET --quit-if-one-screen'
export GREP_OPTIONS='--color=auto'
# Core
bindkey -v
bindkey "^?" backward-delete-char
bindkey "^H" backward-delete-char
bindkey "^[[3~" delete-char
bindkey "^[[1~" beginning-of-line
bindkey "^[[4~" end-of-line
setopt ignore_eof
setopt no_beep
setopt no_flow_control
setopt multios
#setopt xtrace
setopt print_exit_value
setopt print_eightbit
setopt brace_ccl
setopt prompt_subst
unsetopt promptcr
limit coredumpsize 0
autoload -Uz colors
colors
# Prompt
PROMPT="[%m:%~] %n%# "
PROMPT2="%_ %# "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
PROMPT="[%m@ssh:%~] %n%# "
# Path
PATH=$HOME/bin:$HOME/sbin:$PATH:/sbin:/usr/sbin:/usr/local/sbin
# Macros
case ${OSTYPE} in
linux*)
# Linux
alias ls='ls --color=always'
alias top='top -d 1.0'
alias whois='whois -i'
setterm -blank 0
;;
darwin*)
# MacOS
alias ls='ls -G'
alias removeds='find . -name ".DS_Store" -print -exec rm -r {} ";" ; find . -name ._* -exec rm -r {} ";"'
;;
freebsd*)
# FreeBSD
alias ls='ls -G'
;;
esac
# History
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=100000
setopt extended_history
setopt share_history
setopt append_history
setopt hist_ignore_dups
setopt hist_reduce_blanks
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
# Complement
autoload -Uz compinit
compinit
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin
#autoload -Uz predict-on
#predict-on
setopt complete_aliases
setopt correct
setopt auto_cd
setopt auto_list
setopt auto_menu
setopt auto_pushd
setopt auto_param_keys
setopt auto_param_slash
setopt list_types
setopt magic_equal_subst
setopt mark_dirs
setopt pushd_ignore_dups
setopt noautoremoveslash
setopt nolistbeep
# Alias
alias -s txt=less
alias -s xml=less
alias -g V='| vi -R -'
alias -g H=' --help | less'
alias lls='ls -laF'
alias ll='ls -l'
alias ccd='cd $1 ; pwd ; lls'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dir='lls'
alias del='rm'
alias cls='clear'
alias diff='diff -u'
alias last='last -a'
alias vi='vim'
alias more='less'
alias tracert='traceroute'
alias ipconfig='ifconfig'
alias .='pwd'
alias ..='cd .. ; pwd ; ll'
alias ../='cd ../ ; pwd ; ll'
alias ...='cd ../.. ; pwd ; ll'
alias .../='cd ../../ ; pwd ; ll'
alias ~='cd ~ ; pwd ; ll'
alias /='cd / ; pwd ; ll'
#alias -='cd - ; pwd ; ll'
alias restart='clear ; exec zsh'
alias rst='clear ; exec zsh'
alias a='./a.out'
#alias b=''
alias c='less'
alias d='du -skh ~'
alias e='exit'
alias f='find'
alias g='grep'
alias h='history 25'
#alias i=''
#alias j=''
#alias k=''
alias l='last -a | less'
alias m='man'
#alias n=''
alias o='open'
alias p="ps aux" # alias p="ps aux | grep '^$USER'"
alias q='exit'
alias r='clear ; exec zsh'
alias s='screen'
alias t='top'
alias u='who ; echo ; finger'
alias v='vi'
alias w='which'
alias x='exit'
#alias y=''
alias z='tar zxvf' # alias z 'tar jxvf'
# EOF
まだ使い始めて1ヶ月程度しか経ってないから
いろいろカスタマイズし切れてない部分はあるけど
今のところ順調に動いてます
なお,この前の.tcshrcと同じふるまいになるというわけではないので
十分にご注意を
まー,そこまで大層な差はないけどね
tcshは大学に入ってから4年近く使い続けてきたので
さすがに今zshに変えて大きくふるまいが変化すると
かなり戸惑うのでww
とりあえず,Tabキーをよく使う私としては
zshの柔軟な補完機能には感謝してます
predictはさすがにアグレッシブすぎるので使わなかったけどww
補完機能でいろいろ設定しないと
柔軟に動いてくれないtcshと違って
ほとんどノーセッティングでもよい動きをするzsh++
ちなみに,zshの機能を使ってscreenの各ウィンドウ名を
自動で設定するスクリプトは使ってません
入れた方が便利なのはわかってるけど
別にそこまで必要って感じはしないので
コマンド呼ぶ度にいろいろスクリプトが走るのって
なんだかなぁ
それに,個人的にはscreenがデフォルトでこの機能を装備して欲しい……2010.1.4
この前に.screenrcと.zshrcも晒すといってたので
以前の.tcshrc晒しに続いて.zshrcをネット上に公開!!
.screenrcはまた今度ww
まあ,変な設定してるわけでもなく
別段特筆すべき設定してるわけでもないけどね
