Goのことは1ミリもわからないけどミーハーなのでpecoを入れてみた。
Mac OSX, go1.3, pecoはv0.1.7
Goのインストール
※homebrewでpecoを入れる場合は不要
そもそもGoが入ってなかったので
$ brew install go
.zshrcに
export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin
pecoのインストール
README通り
go get github.com/peco/peco/cmd/peco
設定はほとんど弄ってない
~/.peco/config.json
{
  "Keymap": {
    "C-g": "peco.Cancel",
	"C-v": "peco.SelectNextPage"
  },
  "Style": {
    "Selected": ["underline", "on_blue", "black"],
    "Query": ["yellow", "bold"]
  }
}
ghq
ghq + peco/percol
を参考にしてghqを入れてpecoと連携。全く同じなので省略。
コマンド履歴
percolを使ってターミナル操作を早く、便利に。
を参考にして履歴をCtrl+Rで。これも同じなので省略。
よく訪れるディレクトリに移動
ディレクトの移動にz.shを使っていてるんだけれども、それも試しにpecoと連携させてみた。zはhomebrewで入れられる。
.zshrcに
export _Z_CMD=z
. $(brew --prefix)/etc/profile.d/z.sh
function peco-frequently-visited-directory(){
    local selected_dir=$(z | tail -r | awk '{print $2}' | peco)
    if [ -n "$selected_dir" ]; then
        BUFFER="cd ${selected_dir}"
        zle accept-line
    fi
    zle clear-screen
}
zle -N peco-frequently-visited-directory
bindkey '^]^f' peco-frequently-visited-directory
としておけば、Ctrl + ], Ctrl + fでディレクトリがよく訪れる順に表示されつつインクリメンタルサーチできる。
tmuxinator
tmuxinatorを使うとtmuxを利用して設定ファイルに書いたプロジェクトごとのウィンドウ、ペイン構成を一発で立ち上げられる。
tmuxnatorもpecoを利用して簡単に使えるように.zshrcに
function peco-tmuxinator() {
    local project_name=$(ls ~/.tmuxinator | sed -e s/.yml// -e /tmuxinator.zsh/d | peco)
    if [ -n "$project_name" ]; then
	  mux $project_name
    fi
    zle clear-screen
}
zle -N peco-tmuxinator
bindkey '^]^t' peco-tmuxinator
multi_ssh
pecoでは複数選択もできるのでそれを使ってみる。
tmuxを使ってpecoで選択した複数サーバに一気ににsshする。
まずtmuxで複数サーバの同時オペレーションに載っているスクリプトをmulti_sshとか名前をつけて実行権限をつけてパスの通ったところに置いておく。
.zshrcに以下を追記
function peco-multi-ssh() {
    local hosts="$(grep -iE '^host[[:space:]]+[^*]' ~/.ssh/config | awk '{print $2}' | peco)"
    if [ -n "$hosts" ]; then
      multi_ssh ${=hosts}
    fi
    zle clear-screen
}
zle -N peco-multi-ssh
bindkey '^]^h' peco-multi-ssh
migemo
追記: ここは今はpecoのwikiにあるようにpeco/migemogrepを使ったほうがいいかも知れない。
$ go get github.com/mattn/peco-cmigemo
$ cp ~/bin/peco-cmigemo ~/.peco/peco-cmigemo
$ brew install cmigemo # もしインストールしてなければ
$ ln -s /usr/local/opt/cmigemo/share/migemo/utf-8 ~/.peco/dict # homebrewで入れたcmigemoの辞書へシンボリックリンク
そして~/.peco/config.jsonに
{
  "CustomMatcher": {
    "C/Migemo":[
      "/Users/en30/.peco/peco-cmigemo", "$QUERY"
    ]
  }
}
peco-cmigemoの指定には~を使えないので注意。~の展開はシェルの機能で、pecoのmatchers.goを見ると上の値がそのままexec.Commandに渡されている。
感想
canythingは使っていたので基本は同じなんだけど、日本語入力、migemoを使えたりカスタマイズできたりしてイイ感じ