Maidsphere

2011.4.15

成熟されてきた.zshrcを晒す 1年ちょい前に晒した.zshrcは,今見返すと未熟の巣窟で ぶっちゃけ超恥ずかしいのでww というわけで,今の # .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年半ぐらいだけど だいぶ手になじんできて手放せなくなってきてます いやぁ,すばらしいよ