Emacs is probably the way to go- it has its own lisp dialect for scripting the editor. I don’t have any experience using it as I use vim, though :).
It even has built in coverage for interactive user interfaces of windows and menus (though not exactly what people might call GUI's). It can reach out and do networking, though it is closer to the Unix model of making system calls than language libraries or "built in sockets" approaches...but the proof is in tools like Magit and sx-mode or even the older Rmail and GNUS. Basically, Emacs is a virtual Lisp Machine which is why some people are able to live in it all day, everyday, year after year.