peco+zshでターミナルの入力履歴の閲覧を楽にする
この投稿は インタープリズム的「俺達私達の進捗を上げる25個前後のTips」 Advent Calendar 2015 - Qiitaの12日目 の記事です。
こんにちは。suganoです。 zshのhistoryコマンド(Ctrl+r)をコマンドの出力結果をインクリメントサーチができるpecoを導入することで便利になったよという話です。 自分が書いたAnsibleでmacの開発環境を構築してみたと同様にMacでの話になっております。 (これまた知り合いから教えてもらったネタです・・・)
導入方法
まずzshとpecoをインストールします。 zsh自体はMacに標準で入っておりますが、最新のものにするためインストールします。
brew install zsh brew install peco
Homebrewでインストールしたzshは/usr/local/bin/zshに格納されるので、/etc/shellsに追記します。
追記したらログインシェルを変更します。
chsh -s /usr/local/bin/zsh
zshの設定がよくわからんという人は(自分もそうですが・・・)oh-my-zshを入れておくと便利です。 以下のコマンドでインストール
curl -L http://install.ohmyz.sh | sh
再起動するとこんな感じに

最後に.zshrcに以下を追記
function peco-select-history() {
local tac
if which tac > /dev/null; then
tac="tac"
else
tac="tail -r"
fi
BUFFER=$(\history -n 1 | \
eval $tac | \
peco --query "$LBUFFER")
CURSOR=$#BUFFER
zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history
ターミナルを再起動してCtrl+rを叩くと

あとこんなこともできます
以外とgrep使うより便利じゃね?と思ったり。
今回はコマンドの履歴を検索できるようにしましたが、色々と記事をみると便利な使い方をしてる方々がいるので参考にしてみたいと思います。
参考記事
ターミナルのコマンド履歴入力がスーパー楽になるzsh + oh-my-zsh + pecoの導入手順メモ。
oh-my-zsh の環境で、peco-select-history が動かない
インタープリズム的「俺達私達の進捗を上げる25個前後のTips」 Advent Calendar 2015 - Qiitaの13日目の記事