普段開発でRubymineを使っているのですが、Rubymineの検索機能ではなく
git grep
でサクッと検索したい場合があります。
そんなときに、検索結果を直接エディタで開けたら楽だなと思いこんな関数を使っています。
Rubymineで開く
function ggm(){
name_number=$(git grep $@ | peco | cut -d ":" -f 1,2)
if [ -n "$name_number" ]; then
mine $name_number
else
echo 'fileが見つかりません'
fi
}
vimで開くときはこちら。
vimで開く
function ggv(){
name_number=$(git grep $@ | peco | cut -d ":" -f 1,2)
if [ -n "$name_number" ]; then
name=$(echo $name_number | cut -d ":" -f 1)
number=$(echo $name_number | cut -d ":" -f 2)
vim -c $number $name
else
echo 'fileが見つかりません'
fi
}
使い方は検索したい単語を引数で渡すだけです
% ggm User
% ggv User
※ cutの1はファイル名,2は行数で、 git grep
で行数を表示していることを前提にしています
[grep]
lineNumber = true