Explaining vim to a 10 Year Old
by Mike Levin
Thursday, September 02, 2021Well it’s been since August 26 since my last time here! I was only 50 years old at the time. I’m now 51. Hmmm, what to write to my kid? Well, your dad as you know is incredibly boring… to the average folk who tune in. Fact is I type in this crazy text editor called vim, and that’s only just the tip of the iceberg showing how your dad crazy-adapts to the times… going for an actual sort of timelessness. Everyone else in this world right now is throwing themselves into VSCode, which is a different “text editor”. Really, it’s a Microsoft integrated developer environment (IDE) based on Google’s Chrome browser code, through their “Electron” development platform, which really lets you use all the components that went into building the Chrome browser to build custom apps. It looks like this…
And so THAT is also a text editor, coming through a “browser” if you will. This is cool and lets Microsoft do such things as Cloud-based text editing and embedding VSCode (essentially) into Web pages, like they’re doing through Github Codespaces. Okay, so why talk about this sort of super-boring stuff to a 10 year old, going on 11? Well because you’re coming on the classic Harry Potter / Dorothy Gale / Alice in Wonderland sort of age where… well, all sorts of stuff. Many call it coming of age, but you become meta. A “normal” human who is much like an animal following the natural course of life becomes a meta human able to override the natural course and surprise the fates.
Well, your old man THINKS in vim. When it comes time to forcing the narrative of life, there’s talking out loud and there’s writing. For talking out loud, you don’t really need any special tools except for the spoken language you’ve learned and internalized. It’s an internal tool, baked into you similarly to how many tools that mammals aren’t born with get sort of indoctrinated into you from ages 0 (just born infant) through the age of meta when you can reject the brainwashing being poured into you and replace it with your own. All preparation of higher-form animals, i.e. social ones especially mammals, for life is a form of brainwashing. We are all born incapable of taking care of ourselves, feeding ourselves or even lifting our heads up. We are totally dependent. Those first 10 years are fixing those issues.
In the Jewish tradition, you are an adult at 13 years old. This reflects this sort of thinking. When you’re old enough to lead prayer is when you’re an adult. It seems so young and in modern society, there’s still a lot that needs to be wired-up in your head. Namely, a way to make a living and have worthwhile product to offer the world, so you have a place in it. There’s unlimited ways to go about it, but if you’re going to be talking out loud to yourself anyway for “narrating your life” to help with the meta process of being a higher-order human (than just working on animal-like instincts), then you might as well do the same with writing.
And no text editor will truly be with you your entire life… except for the vim typing-style. Your dad has internalized an actual typing way… a way of typing… a way of interacting with text that is much broader and more generic than development coding… into is life and psyche and muscle memory and being. It’s an internal tool. Vim is part of me the way the English language is a part of me. Those green flashes are me reformatting my text, given these “hard returns” at the end of each line which you can’t really see…
Even after 10+ years, I’m still learning vim. There’s always Google for figuring out some of the more obscure things. Or built-in help… I don’t use the built-in help very much. It uses vim tags, which is a whole area I never really explored. So as adept as I may be at vim, I will never really stop learning it. And this is as opposed to having to re-learn a text editor or IDE whenever styles or fads or fashion changes. VSCode appears like it’s setting in as the heir apparent… but to what? To a bunch of stuff that has briefly appeared and disappeared and had fragmented following and inconsistent history and has generally let down its users over the years. There’s tons of examples, but vim (in its earlier form) has been around since the 1970s as vi, written by Bill Joy for the ordinal Unix OS (what Linux is based on). So it goes way back and is even part of some of the standards that define what Unix/Linux are
Oh, there are generalities you can use. So I used :set list to turn on the showing of hard returns. Generally you can reverse these things by putting the word “no” in front of the command. And there you have it!
Okay, that’s enough of explaining for now why your dad’s stuff looks archaic and boring, while at the same time is fundamental and applicable to almost all tech in almost every situation. It amounts to having that same free-flowing style that comes so easily when talking out loud to yourself for also writing, journaling, and indeed even coding.
I can write pretty much any language in here and run the code by just “piping” whatever’s in the current file to the correct interpreter/executer. So if what I were looking at here were JavaScript, I could… I would have to refresh my memory a bit. But the way of working here is very flexible to thinking out loud, coding, or many of the other things you may find yourself needing to do with text over the years.
Okay, good session. Maybe a bit “out there” for a 10 year-old, but that won’t last long. I want to show you how ol’ Dad works so you can pick and choose the bits for yourself that you may wish to incorporate.
This is a secret weapon. Want to see it get published?
Okay, that will be on the web in a moment. But let me get the streaming YouTube embed ready in the meanwhile… I don’t know the video ID yet, but when I stop live streaming, YouTube will give it to me. Later gator!