« 「第6回まっちゃ445勉強会」 に参加してきました | メイン | 環境変数にIDやPASSWORDを設定しなければならない状況で、ID/PASSWORDをファイルに平文で保存したりシェルの履歴に残したくない »

zshの設定ファイル

zshの設定ファイルを晒しておく。my-add-customize-defaultは、「漢のzsh」を読みながら設定して言ったのだけど、この連載は既に設定したものを後から修正したりする。最初からわかっていれば、最後の項目を最初にみてそれを修正していったんだけどしかたがない。表示色を指定している部分は試行錯誤の過程を残しているけど、これはif文を使えばもう少し整理できるけど放置している。あと、PATHの書き方はもっと綺麗にできるけどこちらも放置。
~/.zshrc
[ -f ~/my-customize-zshrc/my-add-customize-macports ] && source ~/my-customize-zshrc/my-add-customize-macports
[ -f ~/my-customize-zshrc/my-add-customize-kmyacc ] && source ~/my-customize-zshrc/my-add-customize-kmyacc
[ -f ~/my-customize-zshrc/my-add-customize-flex ] && source ~/my-customize-zshrc/my-add-customize-flex
[ -f ~/my-customize-zshrc/my-add-customize-default ] && source ~/my-customize-zshrc/my-add-customize-default
[ -f ~/my-customize-zshrc/my-add-customize-cheat ] && source ~/my-customize-zshrc/my-add-customize-cheat
~/my-customize-zshrc/my-add-customize-macports
#Macports設定時追加
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
~/my-customize-zshrc/my-add-customize-kmyacc
#KMyacc設定時追加
export PATH=/usr/local/bin:/usr/local/lib:$PATH
~/my-customize-zshrc/my-add-customize-flex
#Flex SDK
export PATH=/Developer/SDKs/flex_sdk_3/bin:$PATH
~/my-customize-zshrc/my-add-customize-default
#以下の連載をもとに作製
#http://journal.mycom.co.jp/column/zsh/
#一部の設定は以下のURLを参照
#http://d.hatena.ne.jp/tsaka/20060819/1162739565

#補完機能
autoload -U compinit
compinit -u

#sudoでも補完の対象
#zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin

#文字コードの設定
export LANG=ja_JP.UTF-8
#export LANG=ja_JP.eucJP
#export LANG=ja_JP.SJIS

#プロンプトの表示文字列
autoload colors
colors
case ${UID} in
0)
    PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') %B%{${fg[red]}%}%/#%{${reset_color}%}%b "
    PROMPT2="%B%{${fg[red]}%}%_#%{${reset_color}%}%b "
    SPROMPT="%B%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b "
    ;;
*)
    PROMPT="%{${fg[red]}%}%/%%%{${reset_color}%} "
    PROMPT2="%{${fg[red]}%}%_%%%{${reset_color}%} "
    SPROMPT="%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%} "
    [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && 
        PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') ${PROMPT}"
    ;;
esac

#コマンド履歴機能
HISTFILE=~/.zsh_history
HISTSIZE=50000
SAVEHIST=50000
setopt hist_ignore_dups     # ignore duplication command history list
setopt share_history        # share command history data

#キーバインドの設定
bindkey -e

#履歴検索機能のショートカット設定
#編集はカーソルで、履歴はPNで行う
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 "\\ep" history-beginning-search-backward-end
bindkey "\\en" history-beginning-search-forward-end

#エイリアスも補完対象に設定
setopt complete_aliases

#cdを入力しなくてもディレクトリ名だけで移動
#setopt auto_cd

#移動したディレクトリを記憶しておく
setopt auto_pushd

#存在しないコマンドを入力したときに、近いコマンドを表示
setopt correct

#リスト表示をつめて表示
setopt list_packed

#末尾の/を自動的に削除しない
#setopt noautoremoveslash

#補完候補表示時などにビープ音をならない
setopt nolistbeep

#先方予測機能
#autoload predict-on
#predict-on

#shellの拡張機能のON/OFF
#setopt multios
#setopt no_multios

#カラー表示と文字コード対策
#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'
#alias ls="ls -G"
#alias gls="gls --color"
#zstyle ':completion:*' list-colors 'di=34' 'ln=35' 'so=32' 'ex=31' 'bd=46;34' 'cd=43;34'
alias lv="lv -Osjis"
#alias ls="ls --color --show-control-chars -F"      #文字化け対策を含む
alias ls="ls -G -F"                                 #(MacOS)
zstyle ':completion:*' list-colors ''
~/my-customize-zshrc/my-add-customize-cheat
#cheat補完(sudo gem install cheat)
_cheat () {                                                      
  mkdir -p ~/.zsh/completion                                     
  if [ ! -f ~/.zsh/completion/_cheat ]; then                     
    cheat sheets | grep -v All | sed -e 's/^/compadd /g' > ~/.zsh/completion/_cheat
  fi         
             
  `cat ~/.zsh/completion/_cheat`
}

compdef _cheat cheat

トラックバック

このエントリーのトラックバックURL:
http://www.kanasansoft.com/cgi/mt/mt-tb.cgi/225

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google