peco/pecoのwikiにそれっぽいのが書いてあるのだが、例みたいに別のコマンド作って噛まさなくてもzshだけで行けそうだったので、自分なりに設定書いてみた。
function cdgem() {
  local gem_name=$(bundle list | sed -e 's/^ *\* *//g' | peco | cut -d \  -f 1)
  if [ -n "$gem_name" ]; then
    local gem_dir=$(bundle show ${gem_name})
    echo "cd to ${gem_dir}"
    cd ${gem_dir}
  fi
}
動作イメージ
http://quick.as/lxxjhxx6