• 0 Posts
  • 9 Comments
Joined 11 months ago
cake
Cake day: October 12th, 2023

help-circle



  • I want to echo what /u/rwilcox said. Emacs isn’t really about maxing out speed. It’s certainly possible with a lot of effort, but that’s not the fundamental principle of emacs or it’s reason for existing.

    Emacs is about customization. Not configurability, but customization. And, because you can do so many different tasks with emacs, it’s about staying in emacs as much as possible. Using a single tool for almost everything and avoiding context switching. I use emacs for coding and debugging sure, but also for git, merges and diffing, for a REST client, for my shell, for taking notes, for managing a personal knowledge system, for managing contacts, for keeping my agenda and todo list, for my calendar, for creating pdfs with latex, for creating and displaying presentations. I don’t read and compose email in emacs just yet, but I’ll probably get around to setting that up, too. So my only tools are emacs and a browser.

    And, when I’m using emacs, I get to use it more or less exactly how I want, depending on how much effort I was willing to put into setting up how I want it to behave. For example, I added some functions to look up words under the cursor on Dictionary.com and search for synonyms on Thesaurus.com, and to do so interactively so I can select a synonym from the list and either look up its definition or search for synonyms of that word and then replace the current word with the synonym. I later found some other package for doing a similar kind of thing, but it wasn’t that hard to just write it for myself. Or, I added some functions to maintain a list of commonly used but useless words like “really” and highlight them in a text so they can be replaced. Or a mode to follow a certain editing workflow that works well for me. With all these tools together, writing and editing documents is quite a pleasant experience. And I can tweak any piece of it, or tweak how each interacts with the others.

    I haven’t worried too much about hyper-optimizing efficiency. I just don’t find that particularly useful. But there are still certain kinds of common tasks I can do very very fast. Like refactoring code by pulling every instantiation of a class I’ve changed into a single buffer and adding or changing the call to the constructor with multiple cursors and then saving them all, all in one shot. That’s always pretty spiffy.