Learning Emacs [topic split on request]

Thank you for all of these notes!

I was already eyeballing Doom Emacs; it had come up in other newbie posts I’d found. Learning that the cua-mode is an option within it makes it that much easier to consider.

And likewise for org-roam! I’m using Obsidian for a few things but I’ve wondered if there was a version of it that didn’t also need to pretend to be a browser! I’ll have to check that out.

(And thank you for the inform7 mode as well!)

1 Like

@alexispurslane Thanks for all the emacs suggestions. I’ll definitely checkout org-roam and doom.

I use emacs every day since 1985. I use the standard GNU emacs release. I’m still on 27.1. My main complaint is that basic things are getting broken with emacs. cut-and-paste seems to have been messed with. There’s also a keybinding i cant find that suddenly makes the font really small. This is just annoying and should not be on a key.

There’s also the problem that sometimes emacs goes mad now and won’t quit. this is also annoying. I might checkout doom and see if I can use it out of the box.

@zarf I use ctrl-t for “goto line” :slight_smile:

1 Like

I think it will depend a lot on what you are looking to get out of it, but I would suggest that if you truly wanted to understand how it works then it would be beneficial to concentrate on the tutorial, the manual, and any features within Emacs which offer built-in help.

Even very good online resources with valuable information will tend to steer you into making changes that replace a lot of the default behaviour. It is also worth bearing in mind that the author of an Emacs major-mode (how support for programming languages is implemented) is essentially free to decide how that mode should work and how it integrates with other Emacs features, so your experiences may be determined by how opinionated the author was and how they have chosen to provide functionality.

If you start with plain Emacs (not a distribution like Doom or Spacemacs) the default key bindings and some useful commands are available to print as a reference card:
https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf

I don’t mean to purposefully contradict any previous tips you’ve received, but I would avoid putting too much value on beginner tips. I think everyone will have learned it differently, potentially taking very different paths.

Just as counter examples of what was already mentioned (which you should also not place too much value on), it would be my view that:

  1. Starting with plain Emacs is fine

This means that the manual and tutorials are directly applicable to what you are using and you’ll get a better sense of how the core of it works.

In terms of being an IDE or not, I think this is fairly subjective. Emacs comes with an LSP client which integrates with the built-in Emacs features. You can also use alternative LSP clients if you want something that provides or connects with alternative features.

  1. Not using CUA mode is fine

If you just use the default keys you might not have any problems. I just started using the program (not knowing enough to enable CUA mode) and I don’t seem to have any problems when switching between applications - the Emacs kill-ring is not really like a traditional clipboard and I just seem to automatically treat it differently when I go to press the keys.

  1. Leaving the default UI elements on is fine

In particular, the menu-bar is context sensitive and will offer different items depending on the current modes which are enabled. These menu items are good way to discover features (and their key-bindings), particularly if you have never used the mode before and are just looking for an overview of features.

  1. Default key bindings are (mostly) fine

You may or may not want to move your Control key, but generally I’ve found the default key bindings to be pretty efficient. The available Vim emulation is good, but to operate over the entire program it needs to rebind keys across all modes, and that tends to leave small gaps where weirdness happens. There are also other modal editing options which are more Emacs friendly, if you were willing to give these a try, as well as options for creating your own leader keys.

(For context, I’ve been using Emacs for around 4 years. I didn’t know anything about it when I started and wrote a major-mode about 2 years in. I would consider myself an intermediate user of the editing features.)

3 Likes

Fully concur and agree, albeit I think that X11 has his merits.

Personally, I dunno about doom or space emacs, but I found Xemacs more than enough (as always with emacs…) for my needs.

1 Like

Zarf, what is more than enough with modern edition is working on multiple files at once, and most important, the syntax colouring. the latter alone reduces the typo/omission errors by more than 90%, at least for me. Together with paren balancing check improve the overall compilation cycle.

Best regards from Italy,
dott. Piergiorgio.

1 Like

I still remember when that becomes popular. The first time I encountered it, I immediately asked it to be turned off. The colors were revolting! A tremendous distraction to the thought process! MS Studio wasn’t any better.

It’s not until Petit Computer 3, that I accepted it. I can pick my own colors! I set it up like old Atari 800, except I put a different tint to it. So, it’s mostly monochrome, but if you look closely, you can see the different colored syntax.

I notice that for the longest time, people are having trouble debugging code on paper/email due to lack of coloring. Only when screen captures, thus with color, comes into being that that’s no longer the case.

1 Like

That’s all traditional emacs/vi stuff.

“Modern” is the generation of editors that started with Atom, I think.

1 Like