Currently , I am using Windows & VS2005 for developing Direct3D applications at work. But at my spare time, I use Mac for development, and I like it.
I want to use the unify development tools across platforms. So, current I am using Emacs for editing, and CMake for project management,
SVN and git for version control.
for Editing, the VS has an Emacs edit mode, thought it is not full-featured, the cursor movement is similar.
on Windows:
VS->Tools->Options->Environment->Keyboard->Emacs keyboard map, this can make your code editing like coding in Emacs.
In deed, you can also modify this keyboard map to let your Visual stdio behavior more like Emacs.
on Linux:
I found Ubuntu is excellent, you can download the missing libraries quickly without surfing on the net. This save me lots of time. Actually , I am using GNUEmacs && CMakeLists.txt && Git-SVN
on My MacOS X 10.4.11:
I am using Aquamacs, a variation of GNU Emacs for Mac User.
By doing these, my development tools and libraries can be unified, and it can save a lot of time to be familiar with new development tools.