My Emacs eye candy
xenodium.com
xenodium.com
[0]: https://github.com/rougier/nano-emacs
I keep two fonts: a "reader" font and a "normal" font: normal is all fixed-width, while reader has longer characters for e.g. em-dashes and arrows.
I have a custom Iosevka build [1] that I use to make these. (The only difference is the `spacing` option: full-fixed-width is "term", while the reader version is "normal"—confusing, no?) I make Emacs use one or the other with a little config. [2]
[1]: https://sr.ht/~ashton314/iosevka-output/
[2]: https://paste.sr.ht/~ashton314/449022e1f17b3e506f55904941ad2...
Sure, if you put up with the pain of setting it all up, eventually, you have something that works and that only you can use.
A few years later, I'm still using my config and wouldn't go back. It's what allows me to make Emacs _mine_, after all. It requires a minimal amount of maintenance, mostly whenever I decide to upgrade the packages.
> eventually, you have something that works and that only you can use
This criticism doesn’t make a lot of sense to me. You do a lot of keyboard sharing? Who else needs to use Your editor?
With Spacemacs, the expected default is to use Vim-style editing, with the addition of the Space key (hence the name) to access all of Emacs functionality. It's quite user-friendly and very discoverable. And it's still Emacs, so it offers a lot of customization.
Doom Emacs is a more focused approach, it has a clean set of defaults, and the ability to load lots of optional features. One key difference with Spacemacs is the use of an extra CLI utility to manage things such as package installation and config upgrades. Doom also disables customize-mode, which leads to cleaner configs at the cost of some discoverability.
Personally, I've been using Spacemacs for years, the key shortcuts just make sense to me, and it includes everything I want. I also love the default theme, the documentation is helpful, and the main drawback, long startup times, is minimized because I never exit Emacs.
Also in my experience it is a lot faster.
You can end up with a similar feature set using any of the two, and yes, Doom Emacs will probably be a bit faster, but they are not entirely equal. The user experience is different, one easy example is that while using SPC as a leader key is a feature in both, the keymaps are quite different.
My recommendation would be to try them both: they are easy to install, and uninstallation is as simple as removing the Emacs config in your user directory.
(Of course some implementations can be classified as just bad UX...)
There are some more-or-less objective criteria we can apply. From "how many actions it takes to achieve something" to accessibility.
This is not really objective because you also have to take into consideration how intuitive/simple the UX is. Given 100 related actions, clicking through a logically grouped nested menu or multiple pages to do something is going to require more steps but be something anyone can do. Memorizing and using keyboard shortcuts for all those actions will be more efficient, but isn't something someone could immediately do. There is of course an in-between where you can have menus to display available keyboard shortcuts, but some (most?) people will still prefer a GUI/mouse-based approach. There is no one-size-fits-all approach.
"If emacs just use standard keys for open close save, cut copy paste undo, users will double in 1 year."[0]
[0]Emacs Modernization: http://xahlee.info/emacs/emacs/emacs_modernization.html
Can I customize the status bar to include my contextual information with a single line of code in VS Code? Perhaps not. So VS Code has bad UX for my needs. But many consider VS Code to have good UX.
I've tried a lot of editors over the years... Currently I'm using neovim. It's been pretty nice--after some major adjustments. I like altering my configs and changing what's not working for me. Would I use it exclusively? No, but it's a nice tool to have in my toolbox. And with some effort it also can look very pretty.
[1]: https://www.youtube.com/watch?v=QMVIJhC9Veg&embeds_euri=http...
There is at least editorconfig for sharing config with other editors a little.
Because if it doesn’t that feature is completely useless to me. Same with LSP. That works great in every ide, but with eMacs you have to do custom configs and still half the stuff doesn’t actually work.
You have to do custom configs in emacs?
Using eglot I just open a file and lsp features are available without me doing anything except having the language server installed.
LaTeX takes a lot of study to become expert in it, but there are books that help. Emacs, on the hand, can be learned from the inside through its great help functionality (starting with the easy to remember Ctrl-H).
Zone seems like fun, but I would never activate it.
(I too turn off the menu bar, but it's really helpful for accessing some of the more obscure operations in Calc.)
But I still had no idea that zones existed until today.
Vim+Python might be more popular than Emacs+Lisp, so here's my rainbow mode plugin to help with Tabs: https://github.com/csdvrx/indent-rainbow
So my vim theme has 2 modes: color and monochrome (based on bold/underline/italics)
Even better if you make it single pixel wide, something I like from VSCode. This way, it works nicely with rainbow colors in dark mode too.
And while we're at it, rainbow color the related opening and closing brackets too: https://code.visualstudio.com/blogs/2021/09/29/bracket-pair-...
EDIT: applying the grayscale color to the background would be another direction, it also looks nice: https://marketplace.visualstudio.com/items?itemName=leodevbr...
I could, but on top of my head, this would require using ASCII blocks characters for the 1 pixel vertical lines, which would break your regular copy paste (ex: shift + mouse) if not using vi visual mode (not a big fan personally).
My current solution uses the background color of regular spaces, so you can copy/paste without any issue, and without having to strip characters from your copy paste buffer (like with wl-copy / wl-paste)
> EDIT: applying the grayscale color to the background would be another direction, it also looks nice:
Indeed, and this could also be made more reliable by using the vt52 underline toggle, and using different colors/grayscales for the underline: it wouldn't break the copy/paste, but you would be missing the vertical lines, so it wouldn't be exactly a block :(
Otherwise it'd have to use sixels: you could do nice things like rounded angles, but this would restrict your choices of terminal.
Anyway, lmk if you need any help to setup either. I'm a bit busy rn but I should be able to provide you at least some suggestions on how to do it for your specific usecase, with minimal negative side effects (like breaking copy-paste :)
Would be great when working on a C++ project.
Edit: not comic neue, but related:
i like these, though i failed reproducing this in my doomemacs setup. i'm still a rookie
On a personal note this is one of the things I disliked about emacs, too: its configs are non-deterministic :) You find a nice config somewhere, or do the same changes,... and your emacs still looks and behaves differently.
Theoretically, another source of deviation might be different distros shipping different builds of Emacs using different flags, resulting in things like different graphics backend (like GTK vs pure X11). I am not sure if this is a legitimate concern in practice, but using something like Nix or Guix might eliminate even that.
(I can't assess it myself myself because .el files are at the sorcery level too high for Rincewind-like skills.)
For example, I wrote a minor mode for centering text, an org-export backend for Notion, and some plumbing for chatgpt-shell.
I recently asked GPT-4 to write an elisp function that would automatically query GPT using an openai client and insert a docstring written by GPT for any Python function under the point. It worked on the first try!
I use color very intentionally to mean something. The only time I theme something is if it’s already themeable and I can set the theme to use 3 bit terminal colors so I can drive all themes from one place (my terminal profile).