Practical Vim

I have switched to vim over a year ago. And I am pretty happy with that switch. With all the tools vim is offering me, I am now typing faster and use less keystrokes to get my things done. The only problem when switching to vim is to learn the vim way. It is not that easy for a beginner to get a hang on that different modes vim is presenting you. Basically there are two approaches on how to learn vim. Both have one thing in common: if you don’t use it, you don’t learn it :wink: . Besides that it’s a philosophical question what way is better. It depends on you what way works best for you.

Bottom up

Use a basic vim with no modification, or with as less modification as possible. No Rails plugin, no special syntax highlighting sauce. If you feel comfortable enough in vim, you add one plugin at a time. Most people start with the plugins that Tim Pope is offering on his github account. The benefit of this is that you focus on the basic vim commands and don’t get distracted by the stuff that is delivered by plugins. The downside is that you won’t get to see the full potential of vim at first. You have to wait till you are able to install plugins and configure your vim.

Top down

Use a fully loaded vim with tons of modifications. If you want to go this way you definitely should use Janus. That’s the best vim plugin distribution right now. Learn the basic movement commands and than check the plugin list that is delivered with janus and try to use and learn those plugins. The benefit of this is that your vim already has tons of syntax highlighting and other stuff onboard and you just dive into it. The downside of this approach is that you might get distracted and confused by all those plugins and what they offer.

Practice, practice, practice

Whatever method you choose, you have to learn a lot of stuff. I would advise you to use this interactive learning tool to learn the first basic commands. After that you should try them till you feel comfortable. The next step would be to watch some of the Vimcasts and try to learn some of the concepts shown in them.

After a few weeks you maybe need more tips and tricks to get to the next level of vim. That will be the ideal time to read Practical Vim: Edit Text at the Speed of Thought. Don’t read it before you haven’t understood the basic concepts of vim. That will be too early for you. It will confuse you. BUT if you have a basic understanding of vim, this book is really awesome. You will learn so many new things or see commands from a different angle. As I am writing this the book is not done yet, but you can get access to it as a beta book.

And for the emacs guys here: yes, there is a working tetris for vi, too: Tetris.vim .

Portrait photo of Bodo Tasche
Bodo Tasche
Polyglot Developer

I am a freelance polyglot developer and love HTML5, testing, TypeScript, Ruby and Elixir. In the last 20 years I have been in lots of different roles, from Java to Elixir, from backend developer at a 3 people team in an early phase startup to the CTO of a web agency. Some of my work can be seen on my projects page.

Need help developing your MVP or to add new features into your current app? Need a CTO or a front/backend developer for hire? Send me an email.