A very popular idea, and one that emacs has done quite a bit with. Vim is coming along (the original vi was not the scriptable machine like emacs so emacs had a head start)<p>This was also the basis for some 'glue' languages, the one I'm most familar with was REXX (and later NetREXX) which created a "port" in an application that could be driven by another application. So the text editor could connect to the compiler or debugger's Rexx port and drive it remotely using the editor screen's resources for i/o. A good place to look at that was the Amiga back in the mid 90's.