# .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'
export MAILCHECK=0
export PATH=$HOME/bin:$HOME/sbin:$PATH:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# 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 no_clobber
setopt multios
#setopt xtrace
setopt print_exit_value
setopt print_eightbit
setopt brace_ccl
setopt auto_resume
setopt long_list_jobs
setopt prompt_subst
unsetopt promptcr
limit coredumpsize 0
autoload -Uz colors
colors
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
# Prompt
PROMPT="[%m:%~] %n%# "
PROMPT2="%_ %# "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="[%m@ssh:%~] %n%# "
# History
HISTFILE=~/.zsh_history
HISTSIZE=100000
SAVEHIST=100000
setopt extended_history
setopt share_history
setopt append_history
setopt inc_append_history
setopt hist_ignore_all_dups
setopt hist_ignore_dups
setopt hist_reduce_blanks
setopt hist_no_store
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
bindkey '^R' history-incremental-search-backward
#bindkey '^R' history-incremental-pattern-search-backward
#bindkey '^S' history-incremental-pattern-search-forward
# 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
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([%0-9]#)*=0=01;31'
#autoload -Uz predict-on
#predict-on
setopt complete_aliases
setopt correct
setopt auto_cd
setopt auto_list
setopt auto_menu
setopt auto_param_keys
setopt auto_param_slash
setopt auto_pushd
setopt pushd_ignore_dups
setopt list_types
setopt list_packed
setopt magic_equal_subst
setopt mark_dirs
setopt equals
setopt noautoremoveslash
setopt nolistbeep
# Macros
case ${OSTYPE} in
linux*)
# Linux
alias last='last -a'
alias ls='ls --color=always'
alias top='top -d 1.0'
alias whois='whois -i'
setterm -blank 0
;;
darwin*)
# MacOS
alias ls='ls -G'
;;
freebsd*)
# FreeBSD
alias ls='ls -G'
;;
esac
# Alias
alias -s txt=less
alias -s xml=less
alias -g V='| vi -R -'
alias -g H=' --help | less'
alias ll='ls -l'
alias la='ls -la'
alias lls='ls -laF'
alias llh='ls -lahF'
alias ccd='cd $1 ; pwd ; lls'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cls='clear'
alias diff='diff -u'
alias hexdump='hexdump -C'
alias vi='vim'
alias view='vim -R'
alias xs='cd'
alias vf='cd'
alias .='pwd'
alias ..='cd .. ; pwd ; ll'
alias ...='cd ../.. ; pwd ; ll'
alias ~='cd ~ ; pwd ; ll'
alias /='cd / ; pwd ; ll'
#alias -='cd - ; pwd ; ll'
alias rst='clear ; exec zsh'
alias hs='history 0 | grep -iE'
alias a='./a.out'
#alias b=''
#alias c=''
alias d='du -skh .'
#alias e=''
alias f='find'
alias g='grep'
alias h='history'
#alias i=''
alias j='jobs'
#alias k=''
alias l='last | less'
#alias m=''
#alias n=''
#alias o=''
alias p='ps uxf'
alias q='exit'
#alias r=''
alias s='screen'
alias t='top'
alias u='who ; echo ; w ; echo ; finger'
#alias v=''
#alias w=''
alias x='exit'
#alias y=''
#alias z=''
[ -f ~/.zshrc.include ] && source ~/.zshrc.include
# EOF
特筆すべきは,「.zshrc.include」の設定かなぁ
いろんな環境でこのファイルを使い回すから
こういう外部の設定ファイルを用意しないとやってられなくなる場合がある
このアイデアはここから
その割に,内部で「${OSTYPE}」判別し(ry
って思われるかもしれないけど,これは「.zshrc.include」に比べると
だいぶ汎用的なものなのね
つまり,「.zshrc.include」は基本的に「あるマシン限定」の
設定が保管されてるって感じ
まあ,そんな感じで使い分けてます
zshを使い始めて,もう1年半ぐらいだけど
だいぶ手になじんできて手放せなくなってきてます
いやぁ,すばらしいよ2011.4.15
成熟されてきた.zshrcを晒す
1年ちょい前に晒した.zshrcは,今見返すと未熟の巣窟で
ぶっちゃけ超恥ずかしいのでww
というわけで,今の
