Hacker News new | ask | show | jobs
by bonestormii_ 2075 days ago
Right, but it's the vim effect.

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.

2 comments

I disagree with most of this. These skills may be worth the time tradeoff to learn. They don’t increase the error rate. They can be learned during unproductive time (I learned Dvorak on conference calls at an old job.) They can be picked up and used marginally for immediate small gains with potential to improve over time (Vim is like this, not that I use it much.) Many programmers work in a couple bread-and-butter environments that already provide a lot of completions and macros—-typing speed in programming has long been evaluated differently from writing prose.

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.

There are so many things worth learning on unproductive time that making myself marginally more productive with an esoteric command line tool actually isn't the greatest value proposition. VIM, for instance, is my preferred editor. It's on every Unix machine I need. I learned a ton of basic things I can do with it. I don't customize it because I don't usually have the permissions or the time. It lets me get in, edit, get out. You have to judge the reason for a tool.

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.

Words are already extremely cheap and effortless though, and saying that they have a higher value than I appraise them for doesn't address some of the issues I addressed, such as the very real problem on non-universal configurations.

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.

Your other issues were also addressed, the non-universal configurations by pointing out most people work in one or two environments most of the time. Worst case, it’s hard to imagine a quick disabling of conflicting macros being too large a price to work quickly in an environment for weeks or years.

I do concede this doesn’t solve any problems of yours as you don’t value what you do with your keyboard very much.

Lol. I want to type full words, and feel that doing so is near frictionless. I access around 70 environments regularly, many of which are frequently re-imaged during testing, and I appreciate the fact that typing works the same on all of them. My co-workers also appreciate that I am not installing weird typing macros on our devices.

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.

this is exactly why I use nano and don't spend time reading blog posts about editors.
Totally valid. I do like a vanilla vim though. It took some getting used to but I do find myself editing things in vim over ssh quite frequently and it is much easier for doing things like search/replace, etc.

Nano probably works too but I'm not nearly as proficient in it, so... vim!