I have a large amount of command-line utilities that I use in day-to-day development (eg Maven, ant, Grizzly, mplayer, CASE tools, etc). I use Windows. Every time I want to kick off a new process, I end up having to create a new cmd.exe process and type in what I want to run. Sometimes, I'll have five cmd.exe's open at a time!! It's getting hard to manage.
Is there some way to do this directly in emacs? Here's what I would like:
- Have several cmd.exe's output be stored in emacs (probably a new buffer for each)
- Ability to send stdin and ctrl-c to the process
- Easy way to restart the command without retyping the whole thing (like pressing the up arrow in cmd.exe)
- Ability to paste certain parameters to the command to run (eg -file=C:\my\directory\my.file)
- Ability to copy output to the clipboard. Ideally not breaking at 40 columns or so like cmd.exe does.
This sounds like a workable task in emacs, but I can't quite figure out how to do it. I'd love to be able to use ssh and do something similar on remote Linux boxes as well.
Maybe there's another more obvious solution than emacs. If so, please enlighten me.
EDIT: I noticed emacs has a eshell command. I think my needs would be met if I could get this to work on several buffers at once.