by shigemk2

当面は技術的なことしか書かない

【追記あり】pecoを利用して、gitで変更のあったファイルにEmacsでアクセスする

qiita.com

表題のことをしたかったんですが、ってやってもうまくいかないんです。うまく説明できないんですが、git diffはlessっぽい挙動で、awkで拾えないけど、git statusだと結果は標準出力で送られるので、awkで拾えるって言う感じっぽい。

$ git diff | peco | awk '{print $2}'

なので、git statusを使うのがよろし。

git status --short | peco | awk '{print $2}'

それで、このように書いたら、ファイルを選択してうまいぐあいにEmacsにアクセスできます。

$ git status --short | peco | awk '{print $2}' | xargs emacsclient -n

こいつを関数なりaliasなりに登録するとよいでしょう。

追記

諸般の事情により、24.3を使っていて、eieio絡みでトラブりましたが、こういうことをしなくても、helm-ls-gitをつかえばいいんですね。はい。

github.com