💾 Archived View for tilde.team › ~steve › blog › emacs-text.gmi captured on 2023-05-24 at 18:48:10. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
I like Emacs because it helps bridge the gap between the modern world and the text world. Text world is where command line tools live. You find them in the terminal. You call them with some text input and they produce text output either on screen or in files. They are very powerful. However, I personally prefer the GUI world - let's call it the modern world.
I use a mac and I like using a mouse and pressing buttons and I like colors and fonts and I'm using a RTL language. This makes me prefer not to deal with the text world, unless I really really have to; for example when there is no GUI tool that satisfies my needs for some task or when the tool does not exposes all the "advanced" options or when I don't like the company behind the tool. In this regard, Emacs is wonderful. It can use all the text world tools easily and you still get a decent GUI experience. It does not mean you HAVE to use a mouse; you just can, if you want.
I like using Emacs for reading Email (mu), reading newsgroups and mailing-lists (gnus), reading RSS (Elfeed), browsing the web (eww), Gemini (Elpher), IRC (erc) and of course it serves as my IDE of choice, using git (Magit), github (Forge) and lsp(-tools) with every project I work on. Every one of these tools is using CLI apps to do their job. There is no magic; just jump to Elfeed package, for example, and see how cURL is called to fetch content. Magit is an amazing tool. It's a git wrapper but this description does not do justice to the way it augments your workflow and the skills you develop using git. Jumping to the Elisp code shows how the git CLI is called and how its output is carefully parsed to produce the Magit GUI.
To summarize, Emacs is like a translation machine: translating the text world of CLI tools into the modern world of GUI. Moreover, the translation is lossless, enabling you to go back and forth, hacking, fixing and enhancing the tools in a never ending process. More about the potential infinite time sink, and other issues with Emacs, next time 😛.