先日percolをインストールしたばかりですが[2014-06-20-1]peco も気に
なっていたのでインストールしました。

後発なだけあって動作が速い!Ctrl-rで検索条件を
IgnoreCase/CaseSensitive/Regexpと変えられるのもお手軽でよいです。

ちなみにデフォルトのキーバインドはkeymap.go#L464 付近を見ると分かる
と思います。

あんちぽさんの記事によると、ghq も良さそうなのでこちらもインストール。

ghqを使ったローカルリポジトリの統一的・効率的な管理について - delirious thoughts


結局私もあんちぽさんと同じ設定にしました..。

~/.zshenvにexport GOPATH=$HOMEを追加し、~/.gitconfigに以下を追加。

[ghq]
  root = ~/src

以下を~/.zshrcに追加して、Ctrl-x Ctrl-yでpeco経由のghqを使えるよう
にしました。

function ghq_look() {
    local selected_dir=$(ghq list --full-path | peco --query "$LBUFFER")
    if [ -n "$selected_dir" ]; then
        BUFFER="cd ${selected_dir}"
        zle accept-line
    fi
    zle clear-screen
}
zle -N ghq_look
bindkey '^x^y' ghq_look

ターミナルは移動が楽になりましたが、Emacs上では移動が大変。。仕方が
ないので、Emacsからghqを使えるhelm-ghq.elを作りました。

使い方は簡単。M-x helm-ghqするだけです。Ctrl-zでちら見も出来ます。
helm-ghq

インストールも簡単。Emacs24以上であればM-x list-packagesからインス
トールできます。

P.S.
helm-ag.el を大いに参考にさせて頂きました。@syohex さん、ありがとうございます。
久しぶりにelisp書いたー。

追記(2014-06-23):
MELPAからインストールできるようになったので、記事を修正しました。