Git – pecoを使って生産性を上げるちょっとした工夫 – Qiitaから少し改良させてみました。改良点は以下の点です:

  • pecoで何も指定しなかった場合は、vimを起動しないようにする
  • gitレポジトリではない場合は、そもそもなにもしないようにする

コードはこちら:

# check whether `peco` exists
if which peco > /dev/null; then
  function gim () {
    # check whether the current directory is under `git` repository.
    if git rev-parse 2> /dev/null; then
      local selected_file=$(git ls-files . | peco)

      if [ -n "${selected_file}" ]; then
        vi ${selected_file}
      fi
    fi
  }
fi

参考