何が原因なのかよく分かっていないが、Vim で C++ を開いているとき、rtags や vim-lsp with clangd を使って reference を見る際に、一筋縄ではいかないのでうまくいくときのポイントをメモ。
rtags
関数の定義箇所で <Leader>rf
(rtags#FindRefs) してもうまくいかなくて、宣言箇所だとうまくいく。
なので <Leader>rj
-> <Leader>rf
の順に飛んだほうがよさそう。
vim-lsp with clangd
関数の定義箇所や宣言箇所で :LspReferences
してもうまくいかない。
どこか実際に reference している箇所からだとうまくいく。
intfoobar();// ここで :LspReferences してもだめintfoobar(){// ここで :LspReferences してもだめreturn0;}intmain(){foobar();// ここで :LspReferences するとうまくいくreturn0;}