And, if you're interested in some historical context for this "type characters and jump to point" functionality, the Canon Cat: https://youtu.be/o_TlE_U_X3c
googled for `"emacs" "avy" "package"` was the 1st result. ;)
[0]: Beginner's Emacs tip. Should apply in other editors.
[1]: Example for Emacs: https://github.com/abo-abo/avy
Quick backstory: I was experiencing pain in my ulnar nerve, which was definitely exacerbated by using a mouse. I was making a lot of changes to get that under control, but was curious if there was also a software-based solution that I could throw into the mix. As it happens, I had recently started using the excellent avy [0] Emacs package, and wondered if some of the ideas in avy could be brought to the operating system level.
(Quick sidenote: some physical keyboards, e.g. those running the QMK firmware, support mouse emulation, which allows you to move your mouse by pressing keys. I like this feature, but it's not as efficient as what I had in mind.)
I threw together a prototype, to see what was possible. The initial version subdivided the screen into a grid of equally-sized cells, and assigned each cell a unique character sequence. Type the character sequence, and your mouse cursor moves right to that location. (You can also move the mouse cursor up, down, left, and right, using similar keyboard shortcuts for text editing. The app also lets you click and drag with your keyboard.)
Over the holiday break, I added a new navigation mode that leverages the Mac OS accessibility APIs (like a screenreader) to find relevant UI elements on the screen (buttons, hyperlinks, etc.). Each element is assigned a unique character sequence, just like the grid-based navigation mode.
Now, with element-based navigation, Scoot feels much more useful, and I thought it would be worth sharing more broadly in case anyone else finds it useful. (Note that Scoot is Mac only, relying heavily on Apple-provided frameworks.)
Usage details (and a more detailed description) are available in the README. [1]
Feedback is much appreciated! (And the app is open source, with a lot of missing features and bugs to squash. All contributions are welcome.)
[0]: https://github.com/abo-abo/avy [1]: https://github.com/mjrusso/scoot
However, with regards to your example, things like easy motion/avy solve this exact problem, I think no slower than a mouse. You basically punch in one, two, or more characters at the place you want to jump (depending which package/command you call), and then every match on the screen is highlighted and replaced with a different letter. Then you press that letter and jump there.
Not arguing that's it's much better, just that's approximately the same. Check it out: https://github.com/abo-abo/avy.
AFAICT it's a superset of ace-jump, with some better thought out commands and better ways to call them.
The downside is that, sometimes, the hints are longer, but I've found it faster to know right away to type "wxyz" than to receive "w", "x", then "y" one at a time.
clojure and clojurescript
https://github.com/clojure-emacs/clj-refactor.el (refactoring)
https://github.com/clojure-emacs/cider (IDE)
https://github.com/bhauman/lein-figwheel (code reloading)
emacs
https://github.com/magit/magit (the interface to Git)
https://github.com/abo-abo/avy (jumping around)
https://github.com/magnars/expand-region.el (marking stuff)
https://github.com/magnars/multiple-cursors.el (placing cursors at similar stuff and editing all at once)