Signed up. Id like to use vim since i like the concept but it seems so damn hard to get into. The post yesterday "learn vim progressively" was interesting though.
Not sure i know what it is though. I really like VS debugger and programming in C#, C++ (both with VS). So, what exactly will i give up if i switch to vim?
I recently took the plunge. I had been using e-TextEditor for everything but .NET, and VS for .NET. Now I'm using gVim for the majority of my editing for all languages I am working in. However, I still use Visual Studio with ReSharper for certain things: debugging, intellisense (only when I'm stuck; I'm trying not to rely on it much. you can also use vim plugins or create your own to let you quickly jump to MSDN and find something), and editing project/solution configuration.
Alternatively, you could use ViEmu (emulator plugin for VS, amongst other MS things), but I like the split buffers so I haven't gone down that path.
In summary, I don't think it's an all or nothing deal. You should use the best tools for the job. I think using Vim will make you more productive for plenty, but not all tasks.
I'd second ViEmu. The price is a little steep (or was three or four years ago), but I used it through the trial and it was pretty comfortable.
These days I do a lot of my C# coding in Visual Studio, but have a shortcut key to open the current file in GVim to do heavy lifting. For what it's worth, to do that, I added gvim as an external tool with the arguments:
Grandparent was correct. Vim's basic completion is "similar words in the current file" (plus some other things), but omnicomplete is an arbitrary algorithm that can get pretty fancy. For example, in Ruby, omnicomplete on 3.14.tr will include truncate, while omnicomplete on [[1, 2]].tr will include transpose.
omnicompletion, by default, completes against words in any file currently open in any buffer. But it's also now pretty programmable, though I don't I currently use any of the languages that have good support built out for them.
I tried using pure vim. It's too cumbersome (Microsoft does pretty good job at "locking in" developers, e.g. - manual editing of solution files ain't what I'm lookin for).
But there is awesome middle road. Try visual studio vim emulation layer called VsVim - http://bit.ly/e3GsMf
It's far from being perfect, but it has most of the stuff.
Not sure i know what it is though. I really like VS debugger and programming in C#, C++ (both with VS). So, what exactly will i give up if i switch to vim?