Just as I wrote before, GNU Emacs shall be considered as a Word Heritage Site, since it is an embodiment of a distinct, major culture.
There are lots of guys who are self-proclaimed Emacs experts or even Emacs gurus (sorry, Greek philosophers), yet I find their writings either too narcissistic or too overly-verbose.
There are some reasons about using modern GNU Emacs in a “just right” way, and why this is so. Notice that not everything is just a matter of an opinion or a personal preference. Some principles are just stand prior anything subjective.
-
Why not console (–without-x) While there are a lot of bullshit in the sub-field of visual design, there are also some infallible “universal” propels, one of which states that “Same things shall lock the same, while different – differently”.
This is exactly why one wants more that one font in one’s Emacs, but these fonts shall be used systematically, to clearly distinguish between things that are intuitively the same.
This is how, in general, the arbitrary design decisions converged to have variable-pitch fonts and fixed-pitch (or mono-spaced) fonts (where each glyph has the same length in pixels on the horizontal axis).
It turns out that the convergence to having any
codein a mono-spaced font is not arbitrary, since this keeps the code aligned across the lines, creating a uniform, consistent view. This is not a question of an opinion or a personal preference.The “generalised” text, however, benefits from being displayed using a variable-pitch font, because it “fits more characters in a single line” and because it is what we always see on any printed page.
The modern answer is the
variable-pitch-modefor non-code buffers, and thenmixed-pitch-mode, which makes every text variable-pitch, except what it considered as “code” blocks, and these code-blocks are rendered using a mono-spaced font.Notably, Apple has the collections of fonts which adhere to a very similar “philosophy”, while going even further by adding a “condensed” version of variable-pitch fonts, which fit even more text into a single line.
So, if you compile GNU Emacs with the OTF font format support (
--with-libotf) and download and install Apple Fonts (extracting them manually using7zipfrom.dmgfiles)you could have a clear, modern GNU-Emacs-on-a-Mac experience, especially by selecting the Light variants of the fonts.To complete the experience one needs
--with-cairo,--with-cairo-xcband then--with-harfbuzzwhich together render your fonts perfectly (instead of using onlyfreetypeandlibxft). -
Why gtk (–with-x-toolkit=gtk) Since you already have “a half of GTK3” as dependencies, it is reasonable to use it as the toolkit for Emacs.
Another option is the “classic”
--with-x-toolkit=noor--with-x-toolkit=athena --without-xaw3d(which is ugly), but both builds are subtly broken – you won’t have the modern font rendering since harfbuzz requires gtk anyway. -
Why bother? The same principle about “Same thing to look the same” applies for actual less distraction via consistent uniformity, which is also known as the Principle of Less Astonishment (meaning just less “surprises” or “edge-cases”).
The true appeal of the “Everything in Emacs” (and the “Never Leave Emacs”) mantras are in the promise of a consistent, uniform and minimalism experience, among other things (such as having
org-modebased workflows, that systematically specialise the most general org-mode format into more specific ones, using conversion tools).There is when themes come into play – they increase consistency and uniformity by using intuitive colour-coding in addition to font-coding of information.
Again, it only has meaning when the same things look the same across all kinds of buffers (modes), and modern themes (notably Doom Themes) are strive to achieve this consistent and uniform look.
-
Why not just use Doom Emacs. There is definitely no reason for NOT using Doom Emacs for newbies. Doom Emacs is kind of famous for trying to grow its own configuration language – a DSL embedded in Emacs Lisp – which is just the right way to program in any Lisp (according to Guy Steele and Paul Graham! just kidding). Growing a Language and the bottom-up approach of building up a language and then to write a program in it (popularised in the On Lisp book) are one of the best programming methodologies ever invented.
So, just use Doom Emacs without its vi bindings (which is not only a heresy but a manifestation of stupidity).
Why one should not mix-and-match two distinct cultures is quite another topic. In short, one throws the evolved subtleties of both cultures out of the window and make a hybrid which is esoterically worse than both ingredients alone.
One more time – the only real appeal of Emacs is that it is a gradually evolved Lisp-Interpreter-based Environment (similar to the Lisp Machines and Genera), which happen to include an editing capabilities, so one really wants to “never leave it” and having a uniform, consistent less invasive and non-distracting visual experience.
When you customize it, optimize for the uniformity and consistency as well as non-invasive and non-distracting minimalism, which have subtle “cognitive-behavioural” reasons. Otherwise you just have missed the point completely.
And never ever (ever) compare
neovimto GNU Emacs, which is just an evolved “editor” (absolutely wonderful in its own particular way).