As an editor, it has a high learning curve. There are zillions of commands, and it's said you won't be faster than an emacs user until you've learned 40-50 keybindings. I've learnt perhaps 30, and I don't use more than 10-20 routinely. So for simple text editing, I'm slower than with emacs.
As a generic text munger, however, it has a fairly low learning curve. For text transformations, you can beat an emacs or sed/awk user in a few days. Here's one thing of fun practical value. I wanted to know how many episodes there are in each series of Me and My Girl, a TV series. Possibilities? Look it up on IMDB, search around on Google, or... put it into Vim. So I pasted the Wikipedia series descriptions into vim, and within moments found a suitable command to execute:
code: Select all
:/*/;/^$/-1!wc
99@:What the command line does: Filter the range from the next occurrence of * to the next blank line minus one through the wc command. Since that did what I wanted, repeat 99 times (there are only 6 series, so it only did it 6 times, of course).
What the first two paragraphs looked like before:
code: Select all
1 Series 1 (31/8/84 - 5/10/84)
2
3 * I Love You Samantha
4 * Design for Loving
5 * The Ideal Husband
6 * The Home Help
7 * Jobs for the Girls
8 * A Clean Slate
9
10 [edit] Series 2 (18/1/1985 - 1/3/1985)
11
12 * Love and Kittens
13 * Let's Talk Turkey
14 * Sticky Fingers
15 * The Kids Are Alright
16 * Leaving On a Jet Plane
17 * Swings and Roundabouts
18 * You Take the High Roadcode: Select all
1 Series 1 (31/8/84 - 5/10/84)
2
3 6 26 139
4
5 [edit] Series 2 (18/1/1985 - 1/3/1985)
6
7 7 32 182
