Optimal for those users, at any rate. IMO using a terminal editor is so painful compared to a decent GUI (Sublime or even VSCode) that I have a difficult time understanding why anyone would choose such a tool. I just try to repeat the mantra of "everyone likes different things" and stop trying to understand something where I likely never will get it.
I haven't picked up nearly as much as I'd like, but even basics (requiring zero config) are way beyond what I could easily do in any GUI editor I ever experienced. For example, in vim, if you are on a bracket or parenthesis (open or close) in edit mode, it is three keystrokes to delete the entire bracketed portion, precisely, regardless of size (even if the matching bracket is off screen). Finding the matching bracket with the mouse is often hell.
And it's not as hard to learn as you may expect, because those keystrokes are not magic codes; they're part of a consistent, thoughtfully designed command language. You choose a mode for selecting text (character based, with lowercase v), use "motions" to select the text in that mode (in this case, a single "go to the matching bracket" motion, which is the percent sign), and take an action with that selection (delete it, with d).
My .emacs file gets updated regularly, sure, but it's thirty years old, and my basic flow hasn't changed.
I feel the same way. But small advantages compound to at least some extent (see e.g. https://danluu.com/productivity-velocity/); and I find that noticing that it takes more time than I'd like to write/edit something, risks breaking my flow.
Also in a terminal environment, all you enter are keyboard keys. If you know how to touch-type, your cognitive load can be greatly reduced (personal feeling). You can also navigate something like sublime with keyboard only. But it's way more tiresome.
I have auto complete, LSP, format on save for may languages, fuzzy finding. my neovim config file is 355 lines, with comments and line breaks.