あんパン

こしあん派

git findコマンドを作った

作ったといってもいつもどおり他人のものを良い感じに改造しただけ。

ソースコードに効率的にアクセスする(git grep + peco, helm plugins) - yebis0942’s blog

git find hogehogeとすると、git grep hogehogeしてファイルをリストし、それを選択して開くことができる。超便利ワンライナー。これを良い感じにしてみた。

使い方

pecoが必要。Macなら以下の感じでインストールできる。

$ brew tap peco/peco
$ brew install peco

次に、以下のシェルスクリプトをパスの通る場所に置いて実行権限を与える。名前はここではgit-findとした。

DST_PATH=$(git grep -n $1 | grep -v "[0-9]:\s*//" | peco | awk -F ":" '{print "-c "$2" "$1}');
if [ ${#DST_PATH} -ne 0 ]; then
  $EDITOR $DST_PATH;
fi

記事元のスクリプトだと、ファイルが見つからなかったときもエディタが開いてしまうので、それを改良した感じ。ワンラインではなくなったけど便利なので使おう。

なおここではgit-findとして保存したけど、git-hogehogeとするとgit hogehogeみたいなサブコマンドになる。好きな名前で保存すると良いと思う。