I'm currently toying with the idea of using Virtual Machines as my development environment and would like to know the pros and cons whether it's a good idea or not.
- Ubuntu Server
- Vim/Emacs (or something, please advise for a good console editor/IDE)
- Python, PHP, Ruby, Perl, CSS, JS, HTML
- Might have to dabble with Java
The idea here is to create separate VMs for each development stack (let's say I'd like to try Drupal, or to try Django, or even JEE 6). No GUI, console only. Software stack should probably be as close as possible to the actual deployment environment.
I am used to using Eclipse for Java development and am quite good with all the shortcuts (I'd say I use keyboards 90% of my time working on a quite large Java EE 6 project. That includes running specific unit-tests, swimming around 3rd-party library internal code, and using Maven or modifying XML including JSP/CSS).
I know I have to learn a few separate tools to emulate a similar workflow and would love to hear your inputs.