If you are using vi and makefiles, look into the :make command in vi. It will allow you to run make from the command line and, if there is an error, can even return you to the line in the file where the error was found.
Also, if you haven't already tried it, look into screen. GNU Screen allows you to run multiple virtual terminals inside of one terminal. You can then switch easily between multiple terminals, copy and paste between them, and even detach the whole session and reatach it -- even over a network.