Question though: what amount of work does it take to make vim from just a text editor with some fancy key commands, and being able to turn it around and make it a serious development tool? Seems like the biggest reason people prefer vim or emacs over just... text editors is because you can extend them to include very basic development needs (like compiling, for instance).
I guess that depends largely on what works for you.
I use vim professionally and so do my fellow team members. We're all working on Linux, though (embedded systems and networking application software). I haven't seen people using things like auto-completion or pop-ups, but some people like to use 'cscope', which integrates with Vim pretty much out of the box. But that's kinda C-specific.
I make heavy use of tabs, copy/paste/cut with markers, search and replace, and regular expressions in Vim, along with formatting features, navigation strokes, etc... I also have my vimrc set to do things like color column 81, color text past column 80, underline the line the cursor is currently on, color trailing whitespace, number lines, etc... That's pretty much it and that, for me, goes a long way. Except for the vimrc stuff, it all comes with Vim. To get the coloring, you can just google and copy someones vimrc, or I can post mine, etc...
Side note:
I consider a bash shell to be my IDE (at work) and all the command-line programs like vim, grep, sed, awk, less, cat, gcc, make, git, etc... are like plug-ins for my IDE. So, this is why I don't really super-size my vim. Instead, I focus more on how to improve my shell usage via learning/writing new programs, shell scripting, etc... The other nice thing about those tools I listed is that they have a similar "dialect". Basically, they play nice with each other.
I remapped my hotkeys for gnome-terminal so that I can easily spawn new windows (in tabs or separate), move the tabs around, and move between the tabs. When I want to build, I just spawn, move over, and run make. I just like having the output separate like this. (e.g. ctrl-n: new tab ; ctrl-N: new window ; ctrl-[,]: move to prev,next tab ; ctrl-{,}: move tab left,right) My coworker really likes terminator, which is pretty nice with split-panes, broadcasting to all panes at once, etc...
I have tried this in Windows too, with powershell, vim, cl.exe, nmake, git, etc..., and it works fine, so I do that sometimes. I just find bash easier to use than powershell (maybe I don't grok ps, yet). I think it's important to be flexible, though. I really like the look and feel of visual studio, for example, especially with a Vim plug-in. I also really like Eclipse with a vim plug-in, but I don't work with Java a lot (and I ran into some technical bumps with CDT, not sure how smooth it is now, though).
To say something about the last remark, I prefer Vim over other text editors, not because it does things that other text editors don't, but because it does things better. I know this doesn't sound right if you are new to Vim or you don't get Vim because I was both those things at one time and another. At least, this is how things went for me.