The great thing about #Emacs is you can get exactly the working environment you want, with capabilities limited only by your understanding of Emacs Lisp.
The terrible thing about Emacs is you're gonna need to get a lot better at Emacs Lisp to get even a reasonable facsimile of the working environment you want.