In this world, there are few hills I am willing to die on…
and Vim being not only the best editor, but also one of the most powerful and multi-faceted tools for your work-flow on a computer computer is a hill that I, every time I interact with my computer, become more and more sure of…Quite simply, YES… the hype is real and I wish, someday, for you to join me on that hill.
Wait no, where are you going please come BAAAACCCCKK!!
The goal of this blog post (part 1 of 2) is not just to evangelize, proclaim
and detail Vim’s broad impacts and infinite possibilities (there are bountiful resources from much smarter and accomplished Vim users already out there, some of which I will link), but to simply suggest in “noob dialect” why it might be worth your time. Even if you are new to coding (or maybe not even a coder at all) and are maybe uneasy or quite possibly a bit afraid of what appears to be this “dense, matrix terminal themed looking tangle of thorns that was made for neck beards and the hyper cs degree’d of us”. I intend to share my experience, put your mind at ease and share good resources, perhaps even convince you to read on to part 2 of this blog-post (where we set up Vim in no0b dialect).
What is Vim?
~ Very briefly, Vim is a text editor… and a damn good one, it can used in
either a command line or GUI setting (like inside an IDE but gross don’t do that). It was released in 1991 by a dutch programmer named Bram Moolenar as the improvement to its precursor vi(“vi-IMproved” or Vim), another early command line editor for the unix OS.
~ The philosophy in it’s conception is that you spend more time editing text
then you do writing it, so why wouldn’t your editor take this into account?
Thus its designed to make this process easier with efficient key bindings,
like really efficient… you should be able to type at the speed of thought. If
you’re interested in learning more about this philosophy, check out this talk
by Vim’s creator Bram Moolenaar:
But to do be honest, no amount “theoretical handwringing” will or should convince you, the only way you’ll truly understand that it’s really worth your time is to see for yourself… but until then just know that it is better than whatever you’re using right now (I know how cynical that sounds but trust me, you will agree). It is FASTER, it is more EFFICIENT, it is more MODULAR (it can be disgustingly customized to suite your specific needs) and it is more ERGONOMIC (as it involves less movement).
“I’m new to coding/in a bootcamp and it looks scary, is it worth it?”
~ Yes, oh my god yes! It will take a second to get accustomed/set up your work flow (like you would any environment), but the only difference is that you will have moments where you will exclaim “why would I use anything other than this.”
How do I know If I am ready?
~I would say, if you’re new to coding there are 2 metrics that were obvious to me:
1. If you have learned the hot keys of whatever editor you’re using now, and
you can’t live or imagine your work flow without them or perhaps wish for
even more, it might be time to think about Vim, as it is your workflow on
2. If you understand the file and terminal environment you are working in. A lot of people complain “where are my files, is there a tree?” (the answer is there totally is by the way). If you’re in the process of learning frameworks or libraries like Rails or React I might suggest putting things off with Vim until you have them down pat (or at least are comfortable). IDE’s like vs Code etc. are cozy environments with a terminal, a clearly displayed file tree and an extremely approachable interface. Thus using an IDE might expedite that process (but for now know that there is nothing you can do in an IDE that Vim can’t do), however if you want to throw caution to the wind and are willing to put in the extra effort, then by all means YOLO! (read on to part 2). If you’re in a boot-camp, even though it will be tricky at first there is an advantage making the change now, and it’s that is you are coding all the time. When you first fire up vimtutor, the first thing it tells you is “you learn vim by doing, not memorizing”, and I happen to agree. So since this is a period when you are constantly writing text, you will learn faster.
Before we move on to part two I would like to offer some positive language:
putting in the effort to better your digital workflow will make you a better coder, writer, thinker and computer user. YOU CAN DO THIS DON’T GIVE UP!!! check out the Primeagen vids for more inspiration:
(please proceed to vim part 2)