You can mount your VM locally by running something like Samba on the VM side, then open stuff normally with TextMate or whatever.
It's a bit slow and has some quirks with huge projects, so I stopped doing it, personally. Mounting with ExpanDrive or MacFuse(SSH) were slower when I tried.
Personally, I just setup an rsync share on the VM, and then run a script on my local machine that rysnc's the project directory just checking timestamps for changes and ignoring all scm folders. It's super quick after the initial sync, since all your usually changing anyway per testing iteration is just a few small text files at a time. Works great for big projects too.
Although nowadays, I'm finding the 'separate VM & host os" for development a bit tedious. Even executing that script to see code changes vs. just saving the file and seeing it right away is a drain on productivity. And doing remote editing put's a noticeable lag to my editing.
Very true. Why not just setup a staging server on the VM and use MAMP and benefit from the quick save and preview. Then sync up to your VM for staging to test your deployment.
It's a bit slow and has some quirks with huge projects, so I stopped doing it, personally. Mounting with ExpanDrive or MacFuse(SSH) were slower when I tried.