Why are vi[m] efficient code editors?
https://news.ycombinator.com/item?id=4145060This started on another thread where I got throttled pretty badly because of my opinion that, in the context of a non-trivial project, vi[m] offer no real gains, particularly when one considers timelines, code quality, bugs, costs, etc.
I am always one interested in learning. And that is why I decided to launch this thread. To be clear, I am not interested in engaging in "mine is better than yours" discussions that invariably lead to flame wars.
The intent is to hear from vi[m] expert users on the reasons those of us who, like me, only touch vi[m] when absolutely forced to, or others who chose to avoid vi[m] or barely know anything about these editors should seriously consider what vi[m] have to offer.
I propose that posts should take the form of reproducible recipes. Give us, vi[m] neophytes, steps to follow in order to understand how one might do a specific task more efficiently using vi[m]. Please don't engage in comparing it to anything else. If we keep it to vi[m] recipes then this thread stands a chance of becoming an educational resource for those of us not familiar with these methods.
This also means that making claims about vi[m] efficiency supported by saying something akin to "every programmer who uses vi[m] thinks so" are not acceptable. Only recipes.
Also, in the interest of fairness, the recipes should work with unmodified vi[m]. Requiring the loading of plug-ins of various kinds muddles things as the same could be true of other editors.
In addition to this, let's not talk about things like memory foot print or binary size. With today's multi-gigahertz-multi-gigabyte computers this really is immaterial.
A recipe could start by suggesting to clone a certain github repository, then opening a specific file with vi[m] and then offering-up a series of commands that show how to derive efficiency gains from vi[m].
On my end, I have access to OSX, Linux, Irix, Solaris and emulators on Windows machines. Other readers might only have one platform available. Please indicate if your recipe, for some reason, requires a specific platform.
Finally, please don't comment on my introductory (first) paragraph. Only recipes and discussions that ask questions or offer clarifications on the recipe in question.
Thanks.