2 ms·
> I thought the whole concepts of modes was stupid. > people want to play the game of “who can spin the most plates in their head”. It is a stupid game to pla
by eviks 3y ago
> I thought the whole concepts of modes was stupid.
> people want to play the game of “who can spin the most plates in their head”. It is a stupid game to play, and only stupid people like playing it.
Modes are exactly the first part of the solution - you remember 1-key prefix for a bunch of other 1-key prefixes
> If you are learning Emacs, there is nothing wrong with writing down commands, either on paper, or even in another editor, or using an online cheat sheet.
There is, it's a much bigger effort vs. the editor conveniently(!) showing you that cheat sheet (that's the second part of the solution). Not sure about emacs, but e.g., Helix does this almost correctly - when you press the first 1-key prefix it would show a panel that lists all the other keys/commands within that mode so you don't need to remember all 50 commands in your "goto" mode
You don't need any papers/online cheatsheets (context switches/wasting time searching, which is especially awful with physical paper), instead you get help right when you need it right where you need it!
- merelysounds 3y agohttps://github.com/justbur/emacs-which-key https://github.com/justbur/emacs-which-key
- rpdillon 3y agoEmacs organizes command invocation via a tree, so there's also a prefix-discoverability need. Emacs has a nice feature that helps here: if you type a prefix, you can follow it with C-h to see a full list of everything accessible via this prefix. For example, experienced users know that C-x 5 is a prefix for operating on other emacs frames, but what can you do with C-x 5? The only thing I remember right now after many years using emacs is I can destroy frames with C-x 5 0, and I can show a buffer in another frame with C-x 5 C-o. But when I type C-x 5 C-h, Emacs gives me this: Global Bindings Starting With C-x 5: key binding --- ------- C-x 5 C-f find-file-other-frame C-x 5 C-o display-buffer-other-frame C-x 5 . xref-find-definitions-other-frame C-x 5 0 delete-frame C-x 5 1 delete-other-frames C-x 5 2 make-frame-command C-x 5 5 other-frame-prefix C-x 5 b switch-to-buffer-other-frame C-x 5 c clone-frame C-x 5 d dired-other-frame C-x 5 f find-file-other-frame C-x 5 m compose-mail-other-frame C-x 5 o other-frame C-x 5 p project-other-frame-command C-x 5 r find-file-read-only-other-frame Each function name in the output is a link to function documentation, which itself links to the source for that function, all entirely within Emacs. Emacs is really well thought out due to its age, but the real trick in using it (I've found) is understanding the full scope of its capabilities. My solution to this was inelegant, but worked really well: I bought a copy of the Emacs Manual in print and left it in my bathroom for about 7 years. Problem solved. =)