.zshrcを晒す
昨日に引き続き、.zshrcを晒します。
#compinitの初期化 autoload -U compinit compinit # プロンプトのカラー表示を有効 autoload -U colors colors # 色つきの補完 zstyle ':completion:*' list-colors di=34 fi=0 # 補完候補をカーソルで選択できる zstyle ':completion:*:default' menu select=1 #補完リストに8ビットコードを使う setopt PRINT_EIGHT_BIT #cd入力いらず setopt AUTO_CD #cdのたびにls function chpwd() {ls} HISTFILE=$HOME/.zsh-history # 履歴をファイルに保存する HISTSIZE=100000 # メモリ内の履歴の数 SAVEHIST=100000 # 保存される履歴の数 setopt extended_history # 履歴ファイルに時刻を記録 function history-all { history -E 1 } # 全履歴の一覧を出力する setopt share_history # 履歴の共有 setopt hist_ignore_all_dups # 既にヒストリにあるコマンド行は古い方を削除 setopt hist_reduce_blanks # コマンドラインの余計なスペースを排除 setopt hist_no_store # historyコマンドは登録しない bindkey '^P' history-beginning-search-backward # 先頭マッチのヒストリサーチ bindkey '^N' history-beginning-search-forward # 先頭マッチのヒストリサーチ #拡張グロブ setopt extended_glob # エスケープシーケンスを使う。 setopt prompt_subst setopt listpacked #補完リストをコンパクトに export LANG=ja_JP.UTF-8 export LESSCHARSET=utf-8 export PATH=/usr/local/bin:/usr/local/mysql/bin:/opt/local/bin:/Users/user_name/bin:$PATH #エイリアス alias S="screen" alias ls="ls -lG" alias -g L="| less" alias -g G="| grep" alias O="open -a" alias of="open -a Fugu" alias gs="gem_server" alias og="open -a Firefox http://localhost:8808" alias om="open -a Mail" alias oc="open -a CocoaMySQL" alias ov="open -a Chicken\ of\ the\ VNC" alias oi="open -a Firefox" alias re="open -a Firefox http://reader.livedoor.com/reader/" alias yu="open -a Firefox http://d.hatena.ne.jp/yuichi_katahira/" alias bo="open -a Firefox http://b.hatena.ne.jp/yuichi_katahira/" alias fcd="source ~/bin/fcd.sh" alias vi="/opt/local/bin/vim" alias vim="/opt/local/bin/vim" alias sp2="ssh -L 5902:192.168.1.2:5900 user_name@192.168.0.1" alias sp1="ssh -L 5903:192.168.1.3:5900 user_name@192.168.0.1" #プロンプト autoload promptinit promptinit prompt adam1 black # ^Dでログアウトしないようにする setopt ignore_eof #ディレクトリ履歴 setopt autopushd alias gd='dirs -v; echo -n "select number: "; read newdir; cd +"$newdir"' #ssh時にホスト名で開く function ssh_screen(){ eval server=\${$#} screen -t $server ssh "$@" } if [ x$TERM = xscreen ]; then alias ssh=ssh_screen fi #screenにプログラム名表示 if [ "$TERM" = "screen" ]; then chpwd(){ echo -n "^[k[_`dirs`^[\\" } preexec(){ # see [zsh-workers:13180] # http://www.zsh.org/mla/workers/2000/msg03993.html emulate -L zsh local -a cmd; cmd=(${(z)2}) case $cmd[1] in fg) if (($#cmd == 1 )); then cmd=(builtin jobs -l %+) else cmd=(builtin jobs -l $cmd[2]) fi ;; %*) cmd=(builtin jobs -l $cmd[1]) ;; cd) if (($#cmd == 2)); then cmd[1]=$cmd[2] fi ;& *) echo -n "^[k$cmd[1]:t^[\\" return ;; esac local -A jt; jt=(${(kv)jobtexts}) $cmd >>(read num rest cmd=(${(z)${(e):-\$jt$num}}) echo -n "^[k$cmd[1]:t^[\\") 2>/dev/null } chpwd fi #ReFeのUTF8化 refe (){ /opt/local/bin/refe $1 $2 | iconv -f EUC-JP -t UTF-8 }
コメントは自分に理解できるように入れてるので、不明な点は聞いてください。エイリアス入れまくってますが、QuickSilverを使ってアプリは開いているので、実際に使ってるのはS,L,G,gs,og,vi,vimぐらいでしょうか。
setopt AUTO_CDはcdを入れなくても移動出来て便利ですが、すべての環境でこれを入れとかないと、いらいらすること間違いなしです。なので、万人にはお勧めしません。ssh時にホスト名で開くっていうやつはscreenで開いてるときの話です。素のzshでは関係ありません。
おっと忘れてました。これをそのままコピっても動きません。^[ が、制御文字で、そのままこぴると文字列扱いになっちゃいます。インサートモードでCtrl+vしてEscapeかCtrl+[で入力できます。
最初、制御文字のまんまコピってブログに登録したら文字化けしちゃったのは内緒です。