Live data from Hacker News

Ask HN: Any fun ways to learn Emacs?

news.ycombinator.com

41–50 of 54 posts

Re: Ask HN: Any fun ways to learn Emacs?

#42

Earlier quoted context omitted.

> The thing about Emacs isn't it's key bindings. It's the extensibility and integration of the overall system. Well, I guess Emacs is many things to different people. After using Helix for quite some time the single thing I missed was exactly the Emacs keybindings. Not plugins, although I've used quite a lot of them.

I miss the bindings, too, when using applications that don't support them. In those situations (and other situations beyond simple key assignment), I reach for the extensibility to modify the system...and find nothing that compares. I'm curious, what do you like about the Emacs key bindings? Is it the GNU system integration, like with Bash? At some level the keybindings are arbitrary. Some were designated before the…

I personally like the Emacs keybinds because they are also supported in Cocoa Text framework, which means native Mac applications respect them. It's not just the terminal that follows these keybinds, but every graphical program in my system. You can actually use S-c / S-v and C-k / C-y to maintain two clipboards at once. This is a feature I miss every time I have to use a computer that is not a Mac. I also like being able to use C-a, C-e, C-k, and move between words with M- and M-. In the case of Emacs, the proper keybinds are M-f and M-b, but Mac also uses meta key as a sort of compose key, so this is the keybind used in graphical applications.

Re: Ask HN: Any fun ways to learn Emacs?

#43
On Windows, I rarely use Emacs because I have never figured out how to get dired to follow the Windows symbolic links that I often use to organise my folders and files. If I remember correctly, the last time I tried, I could only find a rather outdated example without much explanation that I could not get to work. If anyone reading this knows how to do it and has also some talent for writing: It would be very worthwhile to have a tutorial that explains in detail how to do this in a beginner-friendly way.

Re: Ask HN: Any fun ways to learn Emacs?

#44
You need which-key for your emacs. This way you only need to know the first keys (like C-x) in a chord, and then you will see what all the keys do. And since you come from vim, like me, you can use evil (and evil-collection). The other thing is you likely need to start liking and learning some basic Lisp.

Re: Ask HN: Any fun ways to learn Emacs?

#46
As you learn the key bindings keep thinking about how to use Emacs as your operating system and ask questions to experienced users in forums or to LLMs. Read the manual, slowly, over a period of weeks, then reread it. Eventually learn a bit more elisp and learn how to program your own environment. Once your shell is within Emacs, and 50% of your daily interactions with a computer happen through it, you quickly reach nirvana in your journey towards Emacs mastery and you get to enjoy the things you built yourself.

Re: Ask HN: Any fun ways to learn Emacs?

#47
post #35

As an emacs fan, I consider emacs bindings awful, so I wouldn't recommend learning emacs style navigation. And as other people mentioned, the big part of emacs is on the extensibility of the system itself, everything is manageable by the lisp engine as emacs is the lisp engine more than a simple editor. So my recommendation to learn emacs in a fun way is to install evil, open a buffer, bind `eval-buffer` and `eval-la…

> I consider emacs bindings awful Mapping control to caps lock is the first step to Emacs enlightenment.

Yeah, tried and no cigar. I also tried different input styles like xah's but I still come back to evil (plain evil, not collection).

TBH, I prefer just plainly vi like motion on the editor, vi-like object selections, ex commands for common editing tasks, M-X with fuzzy matching for commands, and macros for repeating commands. If something more complex is required, I can always open a scratch buffer instead of using complex chords that I will never remember after having defined and would likely depend on which key.

Re: Ask HN: Any fun ways to learn Emacs?

#49
post #20
post #17

Earlier quoted context omitted.

It looks like it was. Ghostbuster.app reports 93% probability and gptzero.me reports 100%. I was pleasantly surprised that the message started empathetically because none of the other responses did. But it makes more sense now, an LLM would do that.

Indeed, LLMs have that distintive and slightly revolting quality of friendly, helpful and inoffensive tone that reminds me of American customer service ideals. Also the user's profile is equally toeing this line of uncanny valley. I guess the only way to identify ourselves as human is to adopt a measure of rudeness, some grammatical mistakes and snark that those stupid AIs still try to avoid at all costs.

‘Hey, ChatGPT! Write me a witty bio for my new Hacker News account. Make me talk like a real hacker.’

ChatGPT: Greetings fellow hackers, …

Re: Ask HN: Any fun ways to learn Emacs?

#50
There is no "learning" Emacs in a traditional sense, as there is no linear, structured, or categorized methodology. Emacs is vast, learning it is similar to learning a human language. Most of the time when people ask how to approach Emacs, it is like asking "how do I learn to move and live in Brazil," to which the appropriate suggestion would probably be "hmm, maybe start by listening to Portuguese?"

Imagine if there were a browser or a graphics editor where you could change any aspect of it, not just the UI - the look and feel of the elements, but the entire behavior of each element. Imagine if you could "screenshot" the current workspace in this "hacky, recursive Photoshop," then erase, repaint, and resize the panels, menus, buttons, etc., apply it, and then suddenly the whole UI transforms. Emacs feels like that, you can change just about anything - how it looks, how it behaves, and even how it listens and speaks. But to get there, you need to know Emacs Lisp.

So, my suggestion to understand Emacs is to learn Emacs Lisp. If you have never used any Lisps before - Clojure, CL, Fennel, or Scheme, there are two fundamental things you need to understand first. This is vital because without these, it's almost guaranteed to get frustrated. First, you need to learn to love the parenthesis, embrace the structure, and learn structural editing. Second, you need to understand the REPL-driven way of writing Lisp programs. Other languages have REPLs, but Lisp REPLs are different. Grasping the way to evaluate any expression at the point is essential.

After that, I suggest starting to write Emacs Lisp. Pick a problem to solve and try to figure out how to do it in Elisp. Start with something small, maybe not even very practical, like uppercasing every second letter in a paragraph. Eventually, you will learn how to use built-in help, debugger, and profiler and maybe even write your own Elisp packages.

The value of learning Emacs Lisp is that it forces you to develop a "hacktistic" mindset, where you are certain that any aspect of your computer workflow - any program, any interaction can be changed. You will no longer have to agree to "the status quo." Instead of helplessly yelling at your computer and hitting the screen when things don't work as expected, you will gain insight into knowing why things don't work. This wisdom might not alleviate the pain, but it will give you the insight.

Don't try to learn how to stay afloat on the surface; learn how to swim deep in the ocean - it will open a world of possibilities.

Post reply on HN