Few days ago I published a nice roundup of the best Python IDE’s for developers, and within that roundup I included the code-editor Vim. It’s a legendary code editor that has appealed to many, especially those who’re into hardcore software development.

Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor ‘Vi’, with a more complete feature set. It’s useful whether you’re already using vi or using a different editor.

The learning curve is steep, don’t let anyone fool you. You’ll have to practice for a few weeks to get a real hang of it, but there are quite a few good reasons to switch over to Vim, and here are some of them:

  1. Vi is a global editor that can be found on all UNIX systems, and on most Linux systems as well. If you happen to know Vi, you also happen to know Vim – which is quite the advantage!
  2. Vim is totally free of charge, and it has one of the nicest developer communities that support the project.
  3. Vim can be used when you’re using SSH or Telnet to connect to a server, this is especially good for system administrators. But, you already knew that.
  4. You can carry your Vim configuration files with you, as Vim allows you to set everything up from a pre-configured config file.
  5. Not only is it convenient to use with big data files, it’s actually really fast at processing any kind of size files.
  6. Because Vim is a system based editor, you never really have to take your hands off your keyboard. Everything can be accessed with binds and keys.
  7. Once you learn Vim, programming becomes like a game. It’s seriously fun, because Vim packs some really clever features that change up your workflow for the better.
  8. Eventually, you’ll wish that your whole system was supported by Vim!

we could go on for forever, but the list of good things to say about Vim started to repeat itself slowly. Can you vouch for the following praises, and do you have any more to add to this list? I’d love to hear what others think of this editor. But, we’re here for a totally different reason. We’re here to learn about Vim commands, to finally master this editor that everyone keeps talking about.

I’m going to be listing five different sources of tutorials and guides that will quickly give you a brief and concise introduction to Vim, how it works, and what kind of commands you can use to perform some of the coolest things you’ll have seen in any IDE.

1. Open Vim

open_vim
Open Vim gives you several resources, but the most important ones are the interactive tutorials, the sandbox for text-editing, and also a Testing environment to test the commands you’ve learned so far. In total there are 20 different sections that you’ll be studying throughout the interactive tutorial. By the way, keep refreshing the page if it doesn’t load; it takes a few tries before it loads fully.

2. Learn Vimscript the Hard Way

learn_vimscript_the_hard_way
Do you know the really famous Python learning resource that goes by the name of Learn Python the Hard Way? It’s kind of hard to miss it, but even then – it’s basically an in-depth guide and introduction to a given subject, and in this case the subject is Vim. You’re given over 50 different problems and tasks to play with, which will yield invaluable experience by the time you’re done with the tutorial.

3. ShortcutFoo

shortcutfoo
shortcutFoo was created by programmers for programmers in an attempt to make learning your editor fun, easy, and effective. Akin to the days of first learning how to type on a keyboard, shortcutFoo aims to help programmers accomplish more in less time and with fewer keystrokes.

Not only is this a great learning resource for any Vim enthusiast, the amount of IDE’s that are supported by this site is astonishing. You can learn Emacs, Sublime Text, Excel and many more editors. Great for any developer to practice and play around with.

4. Learn Vim Progressively

learn_vim_progressively
Here we have a blog tutorial that has well over 100 comments to support all the mistakes and additions. The author has gone as far as creating specific GIF images for some of the commands that you’ll be learning, it does make the learning process a little less of a pain. Good for bookmarking, to use as a quick future reference.

5. vim_faq.txt

vim
I guess this could have very well have been the first resource on our list. It goes beyond words to comprehend the volume of information that you’ll accumulate from this site. The vim_faq.txt is a definitive guide to Vim, and Vim as a tool for development. There are nearly 40 different sections, each having at least 5 sub-sections that iron out every single thing there is to know about Vim. Good luck!

6. Best of Vim Tips

Just a couple of hours after publishing this post, I stumbled upon another nice resource; Best of Vim Tips. Basically, this page is FULL of tips, shortcuts and secrets that you can use within your Vim editor. It’s a personal learning experience report from someone who has worked with Vim for over a decade. You can also suggest your own insights for consideration, also make sure to check out the links at the bottom of the page for more resources on learning Vim.

7. Vim Tweets

You can also check out the @VimTips Twitter account, there are nearly a thousand unique tweets there; discussing how to enhance your Vim experience, keep in mind – the last one was sent out in 2013. The Vim Tweets page is a collection of cool, rare and useful Vim snippets and command shortcuts. Worth checking out after you’ve learned the majority of basics about Vim.

8. Vim Adventures

How about learning Vim while playing an online game? The Vim Adventures website is an maze / puzzle game that can only be navigated through the use of commands that you’ll find within a Vim editor, it’s the perfect way of learning Vim for visual learners, children, and those who simply prefer to learn in a live environment. In other words, those who like to see instant progress.

9. Scripting the Vim Editor

It’s a five-part online article series that will take you through the depths of Vim. In this series of articles, we’ll look at the most popular modern variant of vi, the Vim editor, and at the simple yet extremely powerful scripting language that Vim provides. This first article explores the basic building blocks of Vim scripting: variables, values, expressions, simple flow control, and a few of Vim’s numerous utility functions.

10. Practical Vim: Edit Text at the Speed of Thought

The book isn’t free, but neither is the content stale and re-used. This book might as well be the only thing you should get in order to learn how to use Vim in your every day development workflow; in a practical way. The book author promises to teach you the magic ways of using Vim, and says that by the end of it you’ll be editing as quickly as your thoughts arise; it’s all about those keystrokes with Vim.

11. Vim Tutorial Videos

Text, text, text. Sometimes text is enough. For those who’re more keen on learning through course or video material, here’s a nice collection of video tutorials that will guide you step by step on how to use and navigate the Vim editor. The really great thing is that these videos have been filmed for various levels of understanding: novice, intermediate and advanced – there’s something for everyone.

12. Vimcasts

You have to respect the people who take their time and energy to build such nice and educational websites like Vimcasts, the site is currently a host to 70~ screencasts and ~50 articles – all about Vim, and how to use it. The content is free of charge, the only thing you might have to pay for is the private training course that the author is offering.

13. The Power of Vim

In this 130 page slideshow you’ll learn everything there is to know about forgotten Vim commands, about features that people have not bothered to keep alive, and in turn have tried to make the editor perform less optimally than it should. In the slides, you’ll also find some resources and descriptions for the most popular Vim plugins. The slides can take a while to finish consuming, but it’s going to be worth every minute of your attention.

14. Hidden features of your Vim plugins

You’ve reviewed so many resources for learning Vim, I’m surprised you got this far. But, because you’ve – the treat is on me. This slideshow will show you what are the secret and hidden features of Vim plugins, and how to take the full advantage of these futures for your future projects. It’s a very short 40 page slideshow that will leave you wanting for more.

How to Learn Vim Commands

Well, it wasn’t all that bad. I think that by trying out even one of the tutorials from this roundup, you’ll end up knowing more about Vim than you did before. I’m really digging the interactive tutorial, and also the last resource which is something that you rarely see – a true in-depth overview of something that many people use.

I actually started the post with only a couple of resources, many of which quickly grew and spread; and now, we’ve got a list of fourteen best resources for learning all about Vim, how to use Vim commands, and what are the secret futures hidden within this epic code editor. Please, share your own insights and advice with the community.