Check out a free preview of the full Complete Intro to Linux and the Command-Line course

The "VIM: A Brief History" Lesson is part of the full, Complete Intro to Linux and the Command-Line course featured in this preview video. Here's what you'd learn in this lesson:

Brian gives a brief history of VIM, an editor within the CLI, explains how VIM builds off of previous editors.


Transcript from the "VIM: A Brief History" Lesson

>> Let's go to everyone's favorite topic of discussion. I've already gotten some furrowed brows hear that I wasn't going to teach Vim in my course, for good reasons, it's a very polarizing subject, Vim. So people either love it and they will tell you everything about it, or they hate it and they will tell you how much they hate it and there's really very few middle ground positions to hold on them.

Yeah, Dare I says it's the most polarizing text editor of all time, I don't think that's even controversial in and of itself to say. So Vim has actually a very long and very interesting history whereas like Nano came from Pico and like that's really it, like that's the whole history then came from like there's like nine upstream projects from like where have them came from and it's kind of a windy path.

So it all started with a project called ed, and I'm told that it's said ee-dee, you don't say ed, that's offensive to people of yore, [LAUGH] that's called ed, which in and of itself came from a different project called qed. So ed was based on this older project developed by a guy named Ken Thompson at Bell Labs in 1969.

Again, a lot of the great ideas that we do today in computing came from Bell Labs and it is a line-oriented programing, a line-oriented editor, which is, for me, nonsensical. I actually spent a decent amount of time trying to figure out how to use it and I cannot figure it out but believe it or not, it's actually available today.

So if I say ed.txt, so it's based on like you do these like lines like one at a time and then you can do you type something and it'll give you back commands with like question marks and stuff like that. I don't know if this might as well be ancient heiroglyphics to me I'm probably gonna get someone text me like I use ed for all my editing and you're a terrible person for not knowing how to probably, okay?

I don't even know, yeah, so Ctrl+D will get you out of it right so you can send it a cig quit, luckily ed will respect that. Did I even put anything? No, I don't think I even saved the file, so I literally do not know how to use ed, okay?

So the thing about ed and the why ed is the way it is it was invented at a time when memory was very precious and so they couldn't keep like entire text files in memory. And frequently they were actually even printing out what was being typed in so they wanted to do one line at a time because every bit of like, screen space basically was precious, right?

So that's why line editors are oriented towards lines is because they didn't want to be able to or they didn't want to have to print everything out all at once. Suffice to say that, that idea has cleanly gone away there's no one that uses any sort of line editor style anymore because memory isn't such and screen-space is not a resource that we care about anymore.

So this is back in a time when ed was used in a time when bits what you talked about not kilobytes, not megabytes, not gigabytes, it was bits you were worried about individual bits. Okay, so from ed we got ex, I think people say that ex and might be E-X, I'm not really sure.

Ex was a line editor but not nonsensical, right? It was actually much easier to use people like that, that got popular for a long time. It put on much nicer face on ed and that's what people use for a while and is well known. I actually think if I go in here and I say, ex textfile.txt.

It actually does, so ex is still around, you can see I'm entering ex mode, but if I type :visual. It actually pops me now into them, so ex is actually now using them, so ex evolved into Vim and it's actually now just a mode in Vim. But it actually started with the inverse where VI was a mode for ex, it was the visual mode for the ex editor.

So from ex, ex was evolved itself from a two previous iterations called en and and then we got ex. And then eventually a guy named I think Bill Joy made a screen-oriented version of ex called vi, which was visual mode for ex, so it actually still used vi or ex under the hood, it was just like a more visual oriented representation but vi was just a mode in ex.

So from there vi kinda became the default that people just started using vi to open ex and directly in visual mode. A guy named Tim Thompson made a vi clone for the Atari ST that then this guy named Bram Moolenaar ported to the Amiga. He made this Vi IMitation so V-I-M, Vim, which was then later renamed to Vi IMproved instead of Vi IMitate or Vi IMitation and it was just a bunch of quality of life improvements on the original V.

So again if you're on Vi on Mac, it's just running Vim, so I frequently type vi textfile.txt, but it's actually running vim, and those are separate things but these days it doesn't really matter because people don't use vi anymore they just use them. So that's probably like maybe about ten minutes extra of history that you didn't really need but I found it very interesting and I wanted to share so of how we got from like, these crazy line editors to this like modern tool that people still use, like they're actually rewriting Vim now to a new program called Neo Vim right and so it's still very alive, very healthy.

People love it i a lot of the frontend masters, instructors themselves use them so it is full featured it works with like React and JSX and all the latest stuff.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now