• このエントリーをはてなブックマークに追加

ss-1359004091

はじめに

こちらの改良版.

変更点

次のような感じです:

  • 検索ワードごとに色分け(せいぜい 5 色程度)
  • 検索ワード "foo bar" とかに対応.ワードの中に " が入るのには未対応><

ソースコード

function hs () {
    n_hist_default=1000000
    colors=(32 33 34 35 36 31)
 
    n_hist=${1#-}
 
    if [ ! "$1" = ""  -a  ! $n_hist = $1 ]; then
        shift
        if [ $n_hist -gt 0 ]; then
        else
            n_hist=$n_hist_default
        fi
    else
        n_hist=$n_hist_default
    fi
 
    words=($*)
 
    greps=""
    i=0
    for w in $words; do
        if [ $i -lt $#colors[@] ]; then;
            i=$(expr $i + 1)
        fi
        color=$colors[$i]
        greps="${greps} | GREP_COLOR=\"01;$color\" grep \"${w}\""
    done
 
    cmd="\history -${n_hist} ${greps}"
    eval $cmd
}

関係ないけど...

あと,oh-my-zsh(README が textile 記法だ!)を入れてから,特定のコマンドを打ったときに,こんなの:

zsh: correct 'perlbrew' to '.perlbrew' [nyae]?

が出てきてウザいのでなんとかしたい.(いずれかの機能を無効にしてやればいいのだろうけど.)

あ,もうひとつ.

zsh の auto_cd によるものだと思うけど,ディレクトリ名だけ入力して cd したときに smartcd が発動しない気がする.

おわりに

enjoy searching your command-history.