Hacker News new | ask | show | jobs
by cksk 5417 days ago
I really think Emacs is much easier to figure out than it looks. Meaning: you probably already grok it, but you _think_ you don't because it's Emacs, damn it!, it's supposed to be hard and complex and bend the fabric of space and time!

But its essence is actually quite simple: it's a toolbox for all things text. Not a _tool_, mind you; a toolbox. It _contains_ tools. Lots and lots of them. Oh, and it has funny keyboard shortcuts.

So here is Emacs in a nutshell:

1. "find-file" is a function;

2. you can "M-x any-function" to invoke it;

3. you can assign a shortcut like "C-x C-f" to any function;

4. you can define your own functions in the same language Emacs itself is written (i.e., you can really extend Emacs, not only call some simpleton API);

5. you customize Emacs' settings and behaviors by changing some variables ("please highlight the line the point is currently on").

That's pretty much it. Yes, there is a mountain of functions and variables and modes that are complicated and interconnected and you _will_ spend some time configuring everything. But the gist, the essence, the core -- that's it. You've already grokked Emacs. Now you can learn one function at a time and extend your knowledge of it little by little. It doesn't have to be more complicated than that.

The modes? Well, remember, Emacs is a toolbox. Each mode is a tool, specialized in some area of the Great Forest of Text Editing. There's a mode that will help you save keystrokes (yasnippet); there's a mode that will help you write code in the language X (x-mode); there's a mode that will help you open files and buffers easily (ido, anything); there's a mode that will help you with your todos and prose-like text (org-mode).

Regarding org-mode specifically: you can spend weeks using only ONE shortcut, Shift-TAB, and already it will be extremely useful. Then you'll wish for some feature (like adding tags to headlines), and you'll find that it's already implemented. And that pattern will repeat, and repeat, and soon you'll be using lots of advanced features, and you won't even notice, because it'll have become a natural thing.

I hope this makes sense. And, just to be clear: I know a size does not fit all. I did not write this to say "everyone should like Emacs, look, I proved it". This is just my experience with it. I hope it's useful to someone.