Subscribed unsubscribe Subscribe Subscribe

git grep+pecoで絞りこんだ結果をvimで開く時、git grep word | x としたい

はじめは grep-vim word みたいな関数でいいかなと思っていたんだけど、「git grep した後に開きたいファイルがあることが分かる」というようなケースが何度かあって、そうなると、人/設定等によっても違うだろうけども git grep word から grep-vim word とするのに一個履歴を遡ってから C-a -> M-d -> M-d -> x となってちょっと面倒。| -> x でやりたいという気持ちが強まってこういう感じにした。

find-and-open-file() {
  input=$(cat)
  selected=$(echo $input | grep '.\+:[0-9]\+:.*' | peco)
  echo "$selected" | awk -F : '{print "-c " $2 " " $1}' | xargs -o vim 
}
alias fof=find-and-open-file

そもそもこの用途だと「git grep した後に開きたいファイルがあることが分かる」って時点でだいたい開きたいファイルが決まってるから x filename:line_number で開ければいい気がしないでもない

参考