Worst case, it’s nice to get one’s job done faster to make time for other things.
You can always take your hands off the keyboard periodically if you want to write less.
Worst case, it’s nice to get one’s job done faster to make time for other things.
You can always take your hands off the keyboard periodically if you want to write less.
For vim to become worth your time to learn to use effectively, you have to have a purpose to use it quite a lot. But it takes quite a lot of time, and causes quite a lot of errors in the mean time. Eventually, you are left with a skill and a tool that are a pleasure to use, but you literally must spend time actively learning how to use it. You cannot just pick it up, because you need to first memorize key combinations and the behavior of various modes. Then, you need to actually practice them.
And this proposed solution is even worse, because it suffers not only from the "vim effect", but from the "vim config effect", where you not only need to memorize, and practice, but actively configure your custom solution, which can take tons of time; is subject to loss/deletion; and is not universally available.
And god help me, what about programming? I honestly do not want to even think about multi-layered completions wreaking their havoc on everything I write, and the only alternative is different completions for different types of environments--even more cognitive load.
This seeks efficiency as represented by speed, but ignores efficiency as represented by ubiquity, generality, and low cognitive load.
If I want to get from point A to point B as quickly as possible, it is more efficient to run. If I want to get from point A to point B with the minimum energy expenditure, it is more efficient to walk. To be truly efficient, you need smart, balanced goals.
Everything you wrote about considering tradeoffs is sound, but is being misapplied because you’re overestimating the difficulty and underestimating the benefit due to placing too low a value on words.
Personally, the best tool for typing productivity I ever have used is a keyboard with no letters on the key caps. It also means I'm the only person in my immediate circle that can use my computer at all. My wife literally can't use my PC.
If you want to spend your time that way, that's cool with me. I like vim. Such things have their place. Personally, I suspect this doesn't solve any problems I have.
I do concede this doesn’t solve any problems of yours as you don’t value what you do with your keyboard very much.
Efficiency for me is not the same as efficiency for you. Deal with it.
I'll also add that something like vim is specialized and very useful. It is easier to use vim in a mouseless environment, which is sometimes a necessity. I use it fairly well, and it has paid dividends on the time invested. I can appreciate the value of a good tool.
But typing speed is not the same as efficiency because standards are efficient in their own way. I'm sure you'll say "oh, you don't value words and have nothing important to say", but that's a ridiculous argument. It is simply that, in my opinion, this type of thing is not worth the overhead it creates, much like extremely customized vim configs. Time is invested in the pursuit of efficiency, and it is never returned. One day the config ceases to function correctly, or your friend/coworker/family member tries to use the keyboard and can't use it effectively, so it gets disabled.
Nano probably works too but I'm not nearly as proficient in it, so... vim!
I only learned to type at about 20-30 words per minute, still faster than many now but slow the measure of typists, and that's easily fast enough to keep up with my thoughts.
They can certainly type faster than the average 50-year old, but they can't touch type (or only partially).
It's odd that in the day and age of a lot of computer related work we don't teach touch-typing in schools anymore.
However, some do benefit from the increased speed, some increase the speed of their thinking to match their potential output. Others benefit from the reduced delay between thinking and writing or editing a thought, analogous in software to working with a fast compile time or a dynamic repl.