Six Months Into Vim and Yet a Padawan

| Comments

Taking advantage of a presentation I did at work last week , I thought it was the perfect time to write a catch-up or lessons-learned blog post on my experience with vim.

I cannot believe it has already been 6 months since my first experience with vim. Today, vim has become an integral part of my development tools and I could not image working without it*. It marries perfectly with ReSharper in Visual Studio, it works quite well in vintage mode in sublime, and it rocks both in Windows and Mac when using vanilla vim.

So, here are the highlights of what I have learned over this period:

  • Touch typing is important (thank you for stating the obvious Jaime). Practice touch typing deliberately and intentionally. Don’t look at the keyboard, don’t move the hands away from the home row. Touch typing is the biggest barrier to start learning vim, once you get over that, you are hooked.
  • If you are a .NET developer, you can get great productivity improvements by using the most basic commands and motions. Also, the vsvimReSharper combo is awesome, you can use vim for micro editing and still enjoy of all ReSharper solution-aware macro refactorings.
  • Learn how to read the documentation (and read it – use :h in vim). The Getting Started, Editing Effectively and Tuning Vim sections make for great starting points.
  • If you are going the path of vanilla vim, I strongly advise against using a ready-packaged distribution like maximum awesome. Vim is huge, to learn how to use vim effectively, you need to take things slow and go step by step, patiently growing and cultivating your vimrc and plugins to suit your needs. If you use a ready packaged distribution you kind of miss the point – the journey –, and end up with a bloated vim with a bunch of plugins and customizations you have no use for.
  • Don’t panic. Pick one new thing to add to your vim toolbelt every week and practice.
  • Find other vim users. It is awesome to share tips, tricks and the love for vim with other like-minded individuals :).

Here is the presentation in all its glory: The Path To Jedi Text Editing With VIM

That’s all for now. I have been thinking about starting a series of vim from-zero-to-hero blog posts for .NET developers. I think it would be great for me and you both. :)

*Actually I do, when I work on my iOS game side project I do it on XCode and it is a pain in the buttocks