If your Vim was build with Python support (most Unix builds are, Windows / Cygwin builds are not), you might want to have a look at the Conque Shell plugin, which allows to run a shell inside a Vim buffer.
Edit: Correction, apparently Vim 7.3 for Windows now also comes with Python support (and thus, Conque compatibility).