4 ms·
The problem is: when do you unlock C-x C-n? I am sad to admit that I still never remember that set-goal-column exists. So the right time to unlock it for me see
by mechanical_fish 18y ago
The problem is: when do you unlock C-x C-n? I am sad to admit that I still never remember that set-goal-column exists. So the right time to unlock it for me seems to be "about ten years into the emacs experience".
OTOH, I've been using the rectangle commands (e.g. rectangle-open, rectangle-delete) since nearly the beginning. I like them and often find them handy. So for me the right time to unlock rectangles is "on the third week".
And so it goes. Everybody's use case is different. Everybody explores a different subset first. Everyone's idea of the most important emacs feature is different. This is quite unlike a game. One major reason that games use the gradual-unlocking strategy is to keep you interested in following their linear plot. But, after the first few days, emacs doesn't have a linear plot, and we probably don't really want it to.
- defunkt 18y agoBut don't you agree there are probably basic, useful editing commands you missed along the way?
- mechanical_fish 18y agoSure. I just don't think that disabling all the other commands is necessarily going to help me find them. And I think that, while a walkthrough is a good idea, a video-game-style walkthrough is more trouble to create than it's worth. I could be wrong, and anyone is welcome to build such a thing. But I'd recommend more screencasts first -- I sense that there's more bang for the buck there.
- defunkt 18y agoYeah, I think you're right about the screencasts. (Still, the idea of a little 'ding' when you level up and unlock new commands excites the former Diablo-addict in me.)
- silentbicycle 18y agoAlso, what is basic will vary from user to user. Grouping functionality by task in a way that would be simple to navigate would probably be a good start, though elisp doesn't really have a same namespacing system anyway. (Does XEmacs? I know it has a packaging system, but I use GNU Emacs.) Something like adding an alist or hash-table of symbols for task descriptions -> relevant functions, such as 'file, 'rectangle, 'email, 'basic wouldn't be too hard to retrofit onto the existing system. A bunch of redundancy wouldn't hurt, and a navigation system as in iswitchb or anything would probably work. I'm busy with projects ATM, but I'd be interested in doing this...and aside from tagging existing stuff, it would be fairly quick. It could potentially be a newbie-friendlier version of apropos, because part of the problem with apropos is that you have to know general terminology in the first place. If this already exists and I don't know about it...that might just prove my point.
- mechanical_fish 18y agoSo, this isn't info-emacs-manual, but rather a system that lets you actually invoke a command by first choosing a category of commands, then choosing from a list of possible commands? Interesting. Note that the emacs module system accomplishes some of the task of organizing commands into subsets. I make liberal use of describe-mode (C-h m) when I want to figure out what my options are in a given mode. Other modes actually populate the menu tree, almost like a real Mac application! (I spent almost a week paging through the docs, trying to memorize the magit commands, before I noticed that the module had helpfully installed a "Magit" menu in the menu bar. I never look up there!)
- silentbicycle 18y agoI'm thinking of something along these lines: After pressing the relevant key (C-h something, also perhaps F1 or what have you, but definitely something listed on the startup screen), a prompt comes up, with a list of known keywords (basic, movement, file, buffer, latex, python, etc.). Typing filters the list for things that contain the substring (as in ido, iswitchb, anything, etc.); while this takes a bit of getting used to, there's immediate visual feedback, so it's reasonably self-explanatory. When you hit enter, the first suggested keyword is selected, it brings up a list of everything tagged with that category. (The dialog would look like the result from apropos.) Hopefully, most of the keyword mapping could be automatically generated, but it will inevitably need some hand-tuning. I know to use describe-mode, apropos, apropos-variable, info, etc. when I am looking for / have forgotten about something, but that, in itself, means I'm over the hump in learning to use Emacs. New users aren't going to know what "M-x describe-mode" refers to (or even what "M-x" is). Also, Merry Christmas.
- mechanical_fish 18y agoMerry Christmas to you! Also, I do kind of like your idea, and I wholeheartedly agree with this: New users aren't going to know what "M-x describe-mode" refers to (or even what "M-x" is). Half the battle in learning Emacs is to get really, really used to all the help commands. You need to play with all of them, and you need to use them a lot, and somehow the documentation didn't really get this through to me at first. (Yegge, to his credit, makes this point 8 in his list of hints: http://steve.yegge.googlepages.com/effective-emacs http://steve.yegge.googlepages.com/effective-emacs)
- almost 18y agoThe idea of goal column seemed so bizarre to me at first ("why the hell would anyone want to do that?") that I had no problem remembering what it did. Then I just kept on coming across situations where it's really useful (mainly when defining macros, but elsewhere as well). Rectangle commands on the other hand I've not managed to internalize yet, I know they exist and I see they must be very useful. But whenever I come accross something that possibly could use them I end up using something else.