It amazes me how fast I forget the struggles and effort I went through to learn something or gain a specific skill. As soon as I known something, I somehow take it for granted. And, from then on, I’ll assume that now that I know it, everybody else probably does too. If you have that same problem then remind yourself this:
Most people don’t know what you know.
Celebrate your newly acquired knowledge. Be proud of your effort and discipline. Share your knowledge with others. When you hear a conversation where it applies share it willingly and openly (I loathe the I-should-have-saids or I-should-have-dones that often plague my mind). Help others attain the same knowledge guiding them and pointing out the pitfalls and the things you struggled with while you were on the same path.
More importantly, don’t take yourself for granted. You have a unique story to share, because you have unique experiences, a unique life that has shaped you and a different character from everyone else’s. There’s only one of you in this universe.
Before we proceed in our journey to vim awesomeness I thought it would be nice to get something out of the way as soon as possible so we don’t need to wedge it in uncomfortably in passing on every single one of the future articles in this series: How to setup, configure vim and keep it tidy, sharp and strong like a well oiled blade.
This is not going to be a thorough reference on how to configure vim but a swift, short and sweet guide to get you up to speed within minutes and on your way to learning and using vim more effectively.
Wallpaper from thewitcher.com plus a quote from the heartwarming reunion of Ciri and Geralt. Sorry I've just finished the Witcher 3, couldn't stop myself :D
Since I became a programmer I’ve been quite fixated with the idea of making more with less. From how to live a fulfilling, purposeful and thoughtful life to how to refactor this line of code in the most efficient way possible. In the ambit of coding, I’ve been obsessed with learning new skills and tools that can unlock and unleash unlimited power and enable me to achieve more with every keystroke and with every hour I invest into developing something.
Photo by Carl Heyerdahl on Unsplash
One of such tools is vim. Vim is a text editor whose centric keyboard design, modal philosophy, and command composable nature, promises unlimited productivity and masterful text editing to those who dare confront its steep learning curve and survive to tell the tale.
It’s been 5 years since I decided to bite the bullet and learn to vim. It was tough, particularly because I wasn’t a touch typist, but I managed to learn and glean some of the power promised on the other side. However, I never made a complete jump to vim. Instead, I stayed within the cozier confines of Visual Studio, Atom, and lately Visual Studio Code using a vim layer (most editors have a vim mode that supports vim to a higher or lesser degree). Vim would remain my second editor, mostly used for hobby projects or writing. So I never got to get really good at vim. Don’t get me wrong, learning to be comfortable with the basic commands and motions helped me be more proficient in writing and editing code. Even better, it resulted in a thinner interface between my brain and the keyboard which allows me to put my thoughts into code that much easier.
Nonetheless, I’ve always felt a slight pang of remorse about not going the full way, a nagging feeling that emulated vim within the confines of another editor can’t be as good as the real thing, a feeling that I must be missing out on something.
So here we are! Today, I pledge to re-take my quest of text editing enlightenment, tread the treacherous paths of learning vim and arrive to the holy shrine of coding awesomeness. Care to join?