and setting aside the "declarative" vs "imperative" nomenclature debate --
vim is pretty dang efficient. Typing `gg` to go to the beginning of a file, or `G` to go the end. Or all the other variety of motions. There are a lot.
Also, there is not necessarily any need to move the cursor anywhere. For example, if I'm in the middle of writing some string and I've decided to change the whole thing, `<ESC>ci"` does that, with no cursor movement required.
If you prefer to use a mouse you can do that in Vim too.
It even works over SSH.
I used to use vscode with mouse. Then vscode + vim with mouse. Then I forced myself to actually learn how to "properly" use vim, including all the motions plus enabling smart line numbers.
As a result, my right hand switches between keyboard and mouse much less than they used to, and I can do development work with my hands stay on the keyboard for minutes or longer. It made me more efficient, and RSI was much less of a problem.
Now use / (+ n or N) + Enter to move around
Done
This even works as a motion (e.g. d / foo, then ctrl G until you hit the right foo, then enter to delete until there).