💾 Archived View for librehacker.com › gemlog › starlog › 20231117-0.gmi captured on 2024-08-18 at 17:44:53. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-10)

-=-=-=-=-=-=-

Re: I gave emacs a serious look back in the day

But I'd love to read how wrong I was. Love to hear what I've been missing out on.

CHOMP! 🎣

Regarding finger strokes

But what killed it for me was feeling as though emacs required more finger strokes

So, something that changed my life as an Emacs user was Helm-Mode fuzzy completion. How it works on my setup is I press a key-chord (META-SHIFT-3) and then I can type two or three characters from ANY available emacs command, and it will fetch the command that it thought I meant. I can either press ENTER to use that command, or press down arrow (or CTRL-n) to get to one of the other likely matches. It is fuzzy search, so I can type characters from any part of the command (e.g., "v l i" will bring up the "visual-line-mode" command). It keeps track of my history, so 99% of the time it guesses correctly, and the rest of the time the command I want is one or two entries down. I can also keep typing more letters to clarify.

So, I don't have to memorize a ton of complex key sequences. I just have to have a rough notion of what some command is called, and a few keystrokes of regular typing will get me there.

Everything is programmable

I could customize my emacs environment up the proverbial wazoo

The fun of Emacs is not really about customization so much as it is about programmability. In lispy style, pretty much everything you can do in Emacs can be programmed to do additional things, or to be part of some program-driven sequence. Every movement of the cursor or insertion of a character comes down to some lisp function call you can insert into another function. Every buffer is accessible through some lispy command or object. Every mode has hooks all over the place, allowing you to launch some code when something or other happens.

Of course, you can use this to write extensions (modes) for Emacs. But it also makes it pretty easy to turn some workflow into a single emacs command.

Macros are great, as well, where you can just record a bunch of actions temporarily (or permanently) into a macro. This, combined with dired-mode, makes Emacs fun for mass renaming of files.

A nice interface for anything text-based

The other selling point of Emacs is it makes a (usually) fun, consistent environment for doing anything that can be nicely represented by a 2D monospace text interface. My easy examples are IRC chat, git repository management, Common Lisp object inspection, navigating info manuals, and maintaining document databases or reference management.

There are a lot of other things like that which I would like to do in Emacs, but I've already invested a lot of time and energy in some other system. E.g., I've spent a lot of time tweaking Mutt, and so I have been hesitant to swap over to an Emacs mail client.