この投稿は インタープリズム的「俺達私達の進捗を上げる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日目の記事