Quick note to self – the following are what I find most useful in Vim, not counting such basic things as modal editing: (Todo: provide links wherever appropriate).
Buffers to organize your work; when I knew less, I used tabs for the same purpose and got into holes that I couldn’t dig myself out of. Buffers are far more powerful and flexible. I’m not too charmed by the host of Buffer Explorer plugins, though. LustyExplorer’s buffer grep looks like a nice feature – but vimgrep seems to be enough for my needs. Currently, anyway. The Quickfix and Location List buffers deserve special mention – I can’t dream of cscoping in Vim without them. Actually… I use GNU Global (and exctags) instead of cscope when I can – but that’s a different story altogether.
Sessions and viminfo make life a lot easier when looking at multiple codebases (projects, if you will. Yes, my current job has influenced my vocabulary).
Listchars and highlight to ferret out tab-space interchanges and otherwise hard-to-find coding style violations. Make no mistake, coding style is good for you, especially if you’re a code coolie. Read Mark C. Chu-Carroll on the topic, if you haven’t already.
The CSApprox plugin that lets me use colour schemes on plain vim in a terminal. Schemes like peaksea are light on the eye, and are way better than plain black and white (matter of opinion, of course), or crippled colour schemes that look plain crappy. Also the Color Sampler Pack.
The Tagbar and gtags[-cscope] plugins. Gtags lets me use GNU Global from within vim, and gtags-cscope provides cscope-like key bindings for GNU Global. Tagbar is nice when looking at OO code – Python, for instance. I shudder to think of C++, but I’ve heard on good authority that Tagbar’s been a minor lifesaver when dealing with said abomination as well.
Matchit for the occasional funny match. IIRC, it’s responsible for Vim’s automatically matching #ifdefs with #elses and #endifs. Even if not, that does serve as a rather trivial example of what matchit can do. It should’ve been named matchmaker. (And could hence have served as an obvious lead in for multiple jokes based on that song from Fiddler on the Roof.)
There are probably more things in Vim that I find essential, but these are the ones on top of my mind right now. I’ve probably taken some for granted (like modal editing), and have forgotten others. More on those another time.