I’m a long term user of Dumb Jump. According to this Irreal post, I’ve been a devoted fan since 2017. As I’ve said many times in my several posts about Dumb Jump—search for “dumb jump” on Irreal if you’re interested—I’ve never been able to warm up to TAGS systems because they require so much maintenance and LSP systems have always seemed like too much work for what I want them for.
It turns out that I’m not the only fan. Ruslan Bekenev has a lovely paean to Dumb Jump. He, like me, says it has completely eliminated his need for TAGS or LSP. For all the things that I use it for it’s instantaneous. That can be difficult to believe when you learn how it works but it’s true. You can get the details from Bekenev’s post or the Dumb Jump site but the TL;DR is that it uses grep to search for the desired target. I use ripgrep with it so it’s fast with even big repositories. Bekenev has an animated GIF showing how it works for him.
If you haven’t tried Dumb Jump, I join with Bekenev in urging you to try it out. It’s small, doesn’t require a complicated installation and is easy to configure. If you don’t like it, you can simply delete the package and remove it from your init.el.