Vim Adventures: Learn Vim While Playing a Game

Screen Shot 2018-01-29 at 4.33.41 PM.581e485fb3034c108a4658c3fbc13913.png

When my Thinkful mentor explains something to me with an example, I can always see the cursor efficiently whipping around his screen. In one of the first sessions I asked him how he was doing that, and he explained that it was with something called Vim. He recommended a game called Vim Adventures as a way to learn how to use it.

I’ve been slowly chipping away at it for a few weeks, but I finished up most of it over the past couple days in preparation for coding my first big project. I’ll do a quick overview and review here in case you’re interested in learning Vim too. 🙂

What is Vim?


Vim lets you move the cursor through a document using commands instead of the mouse or arrow keys. It lets you keep your fingers on the home row (asdf & jkl;), so your efficiency is increased by not having to keep reaching for the mouse or arrow keys. There are also a bunch of shortcuts to jump to a certain word or line, along with quick ways to copy, paste, and edit. This is definitely an oversimplification of the feature set, but I’m still in the process of learning it so I don’t have a full grasp yet.

VIM Adventures


Instead of reading a book, or doing a dry tutorial, Vim Adventures lets you learn by playing a cute little game instead. As I write this section, I’m up to level 12 and there are 14 levels total. You can play the first three lessons for free, and then it’s $25 for 6 months of access.

Here are my stats so far. You can tell that it’s a pretty substantial amount of content by how long it has taken me to complete the levels (I’ve maxed out the game clock on 3 of them so far):

Screen Shot 2018-01-29 at 3.11.07 PM.24804c52ec80407a8321b6b8a0fd725d.png

When you get started you’re plopped right into the world here:

Screen Shot 2018-01-28 at 5.47.26 PM.8f7df4254905471ba763477a18d372e7.png

You’re surrounded by your new movement keys: “h”, “j”, “k” and “l.” It feels pretty weird moving around with these keys at first, but the game guides you into a maze for the first challenge to get used to them.

When you move the cursor over one of the people dwelling in this Vim world, a dialog box pops up so they can talk to you. You’re known as the “Shadowy Cursor,” and you’ve come to fulfill the prophecy.

Screen Shot 2018-01-29 at 4.04.08 PM.89acf1dbeb7c4b509fdd0f07db3c3ce1.png

As you progress through the world, the story unravels. It’s a simple story, but a nice addition to the task of learning Vim.

Getting to the end of each level requires you to solve the puzzles and reach the Princess, who will open up the path to the next set of tasks.

Screen Shot 2018-01-29 at 4.07.41 PM.1d3471525a9846e7931ff336be4302dd.png

Screen Shot 2018-01-29 at 4.08.37 PM.5b9cbbb5aa884656b16cb5dcf01ddef3.png

Just making my way through the first couple levels to take these screenshots has shown me how much more comfortable I am with Vim than a couple days ago. I’m definitely impressed with the way the course is laid out — it could easily be a simple, short game, but the creator has made some challenging puzzles using a large cross section of the keys available in Vim.

You learn new keys in each level, and you immediately come face to face with a collection of challenges that use those keys. Some of them definitely take a little brain power to get through, but I think it is a smart way to help the user remember the new things they learn. If you get stuck — something that happened to me on several occasions 🙂 — here’s a list of solutions to some of the later levels.

When you learn a new key, a little box pops up with some info about how to use it. The people nearby are usually filled with some helpful tips as well.

Screen Shot 2018-01-28 at 4.21.55 PM.098acbd914e74ca5ae1e27d30ad129d1.png

The levels start to get more complex later in the game. I don’t want to spoil anything, but just to give you something to look forward to, there are also different worlds to explore. 🙂

sky.a078bfab0b1341888ab0bc5faa9443f2.gif

To help you along the way, there is a keyboard overview that will give you quick explanations of each key that you’ve learned so far:

keyboard.289d13444d2e46858d567222bc4936c7.gif

And you can use the :help command to get a deeper overview:

help.6adca21402ed4f4a9e665e5d34e012da.gif

Final Verdict


Overall, I’m really impressed with Vim Adventures. I’ve played a decent number of educational games and most of them aren’t too exciting, but I feel like the creator of this one put a lot of effort into creating something interesting and challenging. I would definitely recommend it to anyone who’s interested in learning Vim.

If you have any questions or tips about learning Vim, please let me know in the comments! 🙂


follow_jeffbernst.gif

H2
H3
H4
3 columns
2 columns
1 column
3 Comments