rbenvのRubyのバージョンをzshのプロンプトに表示する

rbenvのRubyのバージョンが表示されてたらlocalで設定したのとかもわかって便利だなぁと思ったので、やってみます。大学の教授がやってるのみてうらやましくなりました。

以下の記事を参考にさせていただきました

  • zsh で rbenv の Ruby のバージョンをプロンプトに表示させる

http://makimoto.hatenablog.com/entry/show-rbenv-version-on-zsh-prompt

参考記事のように以下を.zshrcに追加したのだけど、エラーが出てしまう。

rbenv_version () {
  if [[ "`rbenv version | grep '.rbenv/version'`" = "" ]];then
    if [[ "`rbenv version | grep 'RBENV_VERSION'`" = "" ]];then
      local setting="L"
    else 
      local setting="V"
    fi
  else
    local setting="G"
  fi
  RPROMPT="  `rbenv version | cut -f1 -d' '`($setting)"
}
add-zsh-hook precmd rbenv_version

こんなの

/Users/totz/.zshrc:79: command not found: add-zsh-hook

ありゃ。うまくzshのfunctionが定義されてるファイルにパスが通ってないのかな。

と思ったらadd-zsh-hookというものを事前に読み込んでおかないといけなかったみたい。

autoload -Uz add-zsh-hook

これでコマンド実行ににフックできるみたい。

そしてちょっとおしゃれにして...

f:id:to_tu:20150703211339p:plain

できた!

参考記事

http://homepage3.nifty.com/giga/mac/unicode.html