I have recently moved to a VIM environment for Python development. I learned the setup from John Anderson's outstanding web page on the subject. I am about to try and set up another VIM environment for C++. Is this even possible to do effectively? Or should I really have two accounts on my Linux box, one for Python, one for C++ development?

If anyone could outline their setup, either way, I would appreciate it greatly.

To further clarify the question, I am not asking "what is best way?" which is unanswerable. I am asking those VIM users who program both C++ and Python if they use one VIM environment, or two (perhaps on different accounts), and how they accomplish it either way.

(For Java, I am sticking with NetBeans and am pretty sure that is the right decision due to how well the build and Swing development tools are built into it, but am open to the idea of a VIM environment for all 3 languages if anyone has had success with it.)

Stock Vim is pretty well suited to C++ already. Just enable OmniCPPComplete and install ctags-exuberant or cscope (and optionally a tab-complete script), and you'll get all of the completion features you'll need. As a C++ programmer, that's all I ever actually need. (Though I do have a rather long indentexpr.)

I use same vim setting for coding C, C++ and Python (and other stuff too like bash, make ..). You can change settings based on file type. I have a blog post explaining how to change indentation settings for Python and C code automatically in vim.