If you are reading this series from the very beginning, you have read about several ways to navigate, couple of modes which help in multiplexing keys, bunch of commands and VimL scripting language, which is, as mentioned before, a fully fledged programming language. After reading all this, one might think, these features of Vim are neat but not really extraordinary. One can still do things without these features, albeit slowly. But the things I'll show today and in next couple of installments are very difficult, if not impossible, to do without these fundamental Vim operations.

You will encounter mundane, repetitive, silly work while working with text. And this doesn't apply just to code developers, it may be possible that a non coder, depending on his role, may in fact face more grunt work. This work comes in all shapes and sizes- a misaligned csv file, a database dump or a code to be refactored. All this work can be and should be automated. Writing code using a verbose language, having a huge boiler plate code, is also grunt work which must be automated.