コマンド

名古屋のプログラマー、 @stilo さんから「ターミナル使うなら絶対zsh + oh-my-zsh + pecoを導入したほうがいいよ!」教えてもらい、実際に使ってみたらすこぶる便利だったので導入メモを書いておきます。

zsh + oh my zsh + pecoの利点。

bushのみに比べて、zsh + oh my zsh + pecoを導入すると飛躍的にコマンドが打ちやすくなります。

どういうことかというとつまりこういうこと。↓↓

Zsh oh my zsh peco

command + Rによるコマンド履歴検索がものすごく便利になります。

1文字ずつコマンド履歴を検索し、それをリストアップしてくれます。一度打ったコマンドはすべてもうフルに入力する必要がなくなるくらい快適になります。

STEP 1. zshを導入する。

zshを導入するのは簡単です。

てか導入するもなにもMacには標準で搭載されているため、zshとコマンドすればzshを即使うことができます。

zsh

※ ちなみにexitとコマンドすれば、通常のbashに戻す事ができます。

STEP 2. oh my zshを導入する。

次に、zshを使いやすく設定してくれるoh my zshを導入します。

これも簡単で、以下のコマンドを実行すればインストールできてしまいます。(参考元:oh-my-zsh を使って zsh の便利な設定をまとめて取り入れる - mollifier delta blog)

wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

ちなみにこのままだとRuby on Railsがなぜか走らなくなったので、「vim .zshrc」とコマンドし、以下の設定を.zshrcに追記しましょう。(参考元: MacOSX-Lionでrbenvを使ってRubyOnRailsの環境構築すると、以下のようなメッセージが出てドハマリしたけど、なんとか解決したことについてのメモ(推理なので正しいかどうかの確証持てない) - Qiita)

eval "$(rbenv init -)"

あとはターミナルを再起動すれば良い感じに動くはずです。

※ oh my zshを導入すると標準のシェルがbashからzshになってしまうので注意が必要です。

STEP 3. pecoの導入。

ここまで来たらあと少し。次にpecoを導入してみましょう。

これもインストールは簡単で下のコマンドを順番に叩くだけ。↓↓

brew tap peco/peco

brew install peco

ただ、oh my zshを導入しているとこのままでは動かないため、「vim .zshrc」とコマンドし、以下の設定を.zshrcに追記しましょう。(参考元: oh-my-zsh の環境で、peco-select-history が動かない - Qiita)

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

あとはターミナルを再起動し、「command + r」のショートカットを叩けば、以下のようなスクリーンショットのようにずらっとコマンドの履歴が表示され、コマンド入力が捗るようになるはずです。↓↓

Zsh oh my zsh peco

あとがき

するぷ

ターミナルを使うたびに、「このコマンド入力のめんどくささどうにかならんかね」と思っていましたが、zsh + oh my zsh + pecoを導入したことで、すべての問題がクリアになってくれました。

あまりに便利すぎてコマンドを忘れてしまいそうですが(笑)

黒い画面は最初はなかなかとっつきにくいですが、慣れると実は結構いいやつで、今回の設定でさらに使えるヤツになってくれました。

ターミナルとにらめっこしている時間が長い方はぜひ導入してみてはいかがでしょうか?