VIM in my muscle memory

I have been an ardent VIM user for almost 4 years now, and it’s been a while since I have been wanting to write this Blog. My motivation is not to showoff or to start any flame war against any other popular text editors that may or may not be better ;), but to simply showcase the things I like and have come to appreciate in VIM, and show why you should seriously consider it when deciding which programming editor you should use. Hopefully I will be able to do justice to VIM - the Ultimate Programmer’s Editor.

The beauty about using VIM is that it converts the task of text editing / manipulation into a programmable activity. It provides you with a framework to work with your text in a way which allows you to think of it in terms of simple patterns, patterns which you can repeat, store (macros), copy & combine together. This also makes the process of learning VIM interesting & fun! Add to that the fact that you can easily extend your VIM with a wide variety of plugins & themes contributed and shared openly by a vibrant community is just icing on the cake!

Initially when you start out with VIM it feels quite alien and ancient to say the least, also because the default configurations in VIM aren’t that optimal, so it might take a few days to get a hang of things, but once you do, it will motivate you to do things faster. The more you do, the more you obsess on doing things faster and with fewer and fewer keystrokes as possible (1)You might want to have a look at VIM Golf for a bit of fun in that respect :)) the more you discover what VIM has to offer

Over a prolonged period of usage, slowly and steadily VIM commands creep into your muscle memory and the vastness of the abilities and features of VIM which overwhelm you in the beginning, come to you as second nature. This is my attempt to describe various elements of VIM that are now in my muscle memory and use them on a daily basis.

VIM is capable of so much that summing it all up in a few blog posts is just impossible, it can’t do justice to it’s capabilities, it is no wonder that people have written entire books on how to use VIM. In my post I will just be covering a few of the basics of VIM that I have come to appreciate and use. Before I go ahead with that, here is a list of a few resources that have been helpful :

vimtutor, I would encourage everyone to go through it at least once. I often go and refer to the help from time to time while (re)discovering things. Another point to note is that VIM’s help is one of the most impressive help system I have EVER come across. I doubt if any help system for any software can ever be any better :). Now i’ll just iterate a few basic usage patterns and concepts that I use on a daily basis.

This post has gotten much longer than I would have liked, there might even be a few mistakes here and there, but it goes to show how much there is that you can do with VIM. I tried to cover as much as I know, but this just scratches the surface, hopefully this will give you the platform that you can use to launch yourself into VIMdom without fears and appreciate VIM in a way that I have come to over the years.

You can find my vim directory at My ~/.vim directory for reference. Although I must warn you that mine is quite a huge one loaded with lots of plugins, complex configurations in vimrc and I update my repo very frequently, so try it at your own risk ;).

comments powered by Disqus