It's not about optimizing code entry, but optimizing reading code, since you read code a lot more than you write it.
I'm not super familiar with emacs, I'm a vim person, but here are a few examples of mouse vs keyboard navigation.
Search for text in a file:
Mouse:
- select the text
- click "find in page"
- click "next"
Shortcut:
- Ctrl + F
- Click "next"
Vim:
- Type
*on the word you want - Type
nfor next,Nfor previous
Find matching brace/bracket/parenthesis:
Mouse:
- Click on brace
- Scroll until you find the match
Shortcut: not sure
Vim:
- Type
%
Navigate to the top/bottom of the file:
Mouse: scroll or click the sidebar
Shortcut: not sure
Vim: gg for the top of file, G for the bottom
Go to a specific line:
I.e. If from output from a script, like a test failure.
Mouse: scroll or if you have a plugin, click on the red part (i.e. test or lint failure)
Shortcut: in VSCode, Ctrl + click on file name
Vim: G or :
And so on. Vim is optimized for code navigation, a mouse is optimized for intuitive navigation (but slower), and shortcuts kinda fill in the gaps.
If you just want to get up and running quickly, something like VSCode is a good option. That's what I did when I decided to help my team out with some FE TypeScript code, when I normally use something else. I actually installed a vim plugin for VSCode to get the best of both worlds.
But if you really want a fluid code navigation and editing experience, master something like ViM or emacs.
Oh, and I didn't mention one of the most powerful things in both ViM end emacs: macros. I use them a ton when manipulating text, such as converting JSON to a class/struct, or doing repetitive syntax changes that are just out of reach of a regex.