@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Emacs: 定義元へジャンプ・参照元の検索などのための xref

Emacs 25.1 から xref という機構が導入されて、いい感じになったらしい。

emacs - elisp のコードリーディングをしている際に、元の場所へ戻るには? - スタック・オーバーフロー

覚えるべきコマンドとキーバインド

  • M-. 定義元にジャンプする。RubyMine でいう Cmd+B 相当。
  • M-, ジャンプ元に戻る。RubyMine でいう Cmd+[ 相当。
  • M-? 参照元を検索する。RubyMine でいう Opt+F7 相当。

実際のコマンドは、今は Doom Emacs を使っていて xref 本来の関数とは全然違うものにバインドされてる。

M-? 相当はこれまで Emacs で使ったことがなかったし、できるという考えもなかった。実際、かなり大きいリポジトリで試してみたところ、時間はかかるが(そしてフィードバックがないので本当にちゃんと動いてるのか止まってるのか判断できずちょっと困るが)ちゃんと動いた。RubyMine で初めてこの機能を見た時結構感動したものだ。

ドキュメント。

28.4 Find Identifier References

バージョンちょっと古いけど日本語訳もある。

28.3 識別子のリファレンスを探す