I came across this tweet
Slowly incorporating #emacs' EShell to my workflow. At least I can still practice shell-fu even if I'm not on Linux. #dev #gamedev
— Accidental Rebel (@accidentalrebel) August 11, 2016
the other day and it reminded me of Perry Metzger’s wonderful talk at the New York Emacs Meetup entitled The Editor of a Lifetime. In it he recounts how one of his fellow graduate students says he doesn’t care what operating system he uses because they’re all just boot loaders for Emacs. That’s an old joke, of course, as is the notion that Emacs is an operating system but both the tweet and the video make a good point.
One way to look at Emacs is as a universal Operating System. That is, it looks the same and (pretty much) runs the same no matter what the actual host operating system is. For Accidental Rebel this means that he can have a Unix-like shell even when he’s condemned to run on Windows. For others, it means that they don’t have to expend too many brain cycles trying to remember the quirks of whatever OS they happen to be on. For example, Dired can handle almost all file operations in a uniform way from Emacs no matter what architecture you’re using.
This notion of a universal OS may help explain why so many of us try so hard to never leave Emacs. Once you’ve learned enough Emacs you can always have a comfortable and familiar platform no matter what machine you’re running on. It’s only when you have to leave Emacs that you notice you’re in some alien environment.