I hope you had an excellent Groundhog Day! If you are not from America and have no idea what I am talking about, there is a great movie about it.
When I was a noob studying Electrical Engineering, I spent long hours in front of a VT220 typing out engineering assignments. When the choice came down to emacs or vi*, it was a no brainer, I chose emacs. Why? Because I could never remember how to get exit vi.
Apparently others feel the same way.
The memories of those days came rushing back to me when I heard this question hit the 1,000,000 views (and now past 2 million views). So it is not me, Vim, it is most definitely you that is the problem in this relationship.
It has gotten to the point where Vim is now one of the top ten all-time most overused programming jokes, and the proud subject of an O’Reilly book:
So how in world did we get here? Why is exiting Vim such a pain in the ass? And who else is having Vim exiting issues? It’s Dr. Dave Robinson, data scientist extraordinaire to the rescue!
In his post on how Stack helps one million developers escape Vim, he digs into the trove of Stack Overflow data to figure out why people are getting stuck in Vim. To get a sense of the scale, during peak weekday traffic hours, there are 80 people per hour that need help getting out of Vim.
The trouble with Vim comes down to how much you use it. People that often use Vim can blaze through editing, way faster than in an IDE. It’s like airline check-in counter staff that are PF key wizards when fixing ticket mishaps or making ticketing changes.
It is interesting to analyze users that visit the Vim question by the tags those users most visit. The result is that the languages most commonly associated with these users are front-end languages. In contrast, back-end developers are more often working in lower level languages and would generally be using text editors such as Vim whereas front-end developers are generally working in IDE’s or visual development environments.
That is why a lot of front-end developers seem to get stuck in the purgatory of Vim more often than others. They just never spent quality time getting to know and love Vim like other developers. Repetition is how you build your command line muscle memory.
Let’s face it though, there are plenty of times when you are just going to forget something. That is like a story I shared before about a friend that even forgot his own answer to a question 18 months earlier.
That is the power of having knowledge resources you can depend on. There are plenty of those infrequently used but critical pieces of knowledge in your company, but trying to resurrect it takes time and mental cycles. The usual process in large enterprises is that you wait on a support ticket or an email response or luck instead of shipping code and getting tasks done on time.
What is that one thing you are always getting stuck on that is your equivalent of escaping Vim? What do you rely upon for quick answers to common issues?
*Note Vi was the original Vim written by Bill Joy, the godfather of Vim and who just happens to be one of the co-founders of Sun Microsystems.
How do towels stay on hooks?
Get ready to have your mind blown by science in the second answer provided…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.