VIM Adventures: A Journey of Power and Syntax

VIM Adventures: A Journey of Power and Syntax

VIM Adventures: A Journey of Power and Syntax

VIM Adventures: A Journey of Power and Syntax

VIM Adventures: A Journey of Power and Syntax

YouTube thumbnail for VIM Adventures: A Journey of Power and Syntax video

What is VIM Adventures?

VIM Adventures was designed and programmed by Doron Linder. VIM Adventures is an online game based on VIM's keyboard shortcuts. It's the "Zelda meets text editing" game. It is a great way for beginners to learn how to use vim. If you already use vim, it's still helpful to relearn the basics. VIM Adventures forces you to learn step by step. Starting out with only the basic movement keys 'hjkl' you will slowly unlock more advanced keys. There are many puzzles on each level that guide you through using vim.

What is vim?

Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. You NEED to learn vim. It is one of the most basic, but most valuable skills you can master. You will find vim anywhere you find Linux, and Linux is everywhere. Once you learn some of the basic movements, you will want to use vim everywhere you can.


Neovim is a refactor, and sometimes redactor, in the tradition of Vim (which itself derives from Stevie). It is not a rewrite but a continuation and extension of Vim. Many clones and derivatives exist, some very clever—but none are Vim. Neovim is built for users who want the good parts of Vim, and more.

You don't need neovim to become a vim master. You will probably want it though. Neovim enhances your vim experience by bringing it to a modern level. Neovim unlocks almost limitless features, without sacrificing the power or speed of vim.

Neovim's Goals: Extensible. Usable. Vim.

  • Retain the character of Vim—fast, versatile, quasi-minimal.
  • Enable new contributors, remove barriers to entry.
  • Unblock plugin authors.
  • Deliver a first-class Lua interface, as an alternative to Vimscript.
  • Leverage ongoing Vim development.
  • Optimize "out of the box", for new users but especially regular users.
  • Deliver a consistent cross-platform experience, targeting all libuv-supported platforms.
  • In matters of taste/ambiguity, favor tradition/compatibility...
  • ...but prefer usability if the benefits are extreme.

Get started with Neovim the easy way

I have gone through several iterations of my Neovim config. From basic defaults, to fully customized, I now use LunarVim as the base for my config. LunarVim's easy install process upgrades your Neovim config in seconds. Even though LunarVim makes a lot of decisions for you, you are still free to make further customizations.


LunarVim ships with a sane default config for you to build on top of. Features include auto-completion, integrated terminal, file explorer, fuzzy finder, LSP, linting, formatting, and debugging.


Just because LunarVim has an opinion doesn't mean you need to share it. Every builtin plugin can be toggled on or off in the config.lua file. This is the place to add your own plugins, keymaps, autocommands, leader bindings and all other custom settings.


LunarVim lazyloads plugins wherever possible to maximize speed. Disabled plugins also will not decrease speed due to the plugin list being compiled with only the active plugins. This strategy allows LunarVim to not have to choose between features and speed.