3 ms·
Hm, on second thought, I will amend my previous skepticism slightly. I wonder whether some emacs minigames might be useful. It might be that the best way to lea
by mechanical_fish 18y ago
Hm, on second thought, I will amend my previous skepticism slightly. I wonder whether some emacs minigames might be useful. It might be that the best way to learn about, say, the rectangle commands is to play a little rectangle minigame.
What I envision is not a single gigantic emacs game in which you start at level 1 ("a four year old") and proceed to level
793 ("Yegge"), but a directory full of games that you can choose to play in any order, depending on your interests.
Clearly the next step is for someone to produce an emacs mode for writing wizard-ish tutorials about other emacs modes. ;)
- silentbicycle 18y agoMore task-specific tutorial games? ("You are in a maze of twisty little passages, all alike...") A "how to use the help" game/tutorial/screencast would probably be the most useful, overall.
- khafra 18y agoThat's actually what I was expecting the first time I hit C-h t: Not just a verbal description of each feature, but a demonstration of it, perhaps in a sandboxed environment where only the features described so far were enabled, along with some command to exit or reset everything. I still haven't learned emacs, so I'd find that valuable.
- silentbicycle 18y agoMe too, until I saw the "Copyright (c) 1985" at the start.
- d0mine 18y agoYou could start with http://video.google.com/videosearch?q=emacs http://video.google.com/videosearch?q=emacs
- almost 18y agoThat's a brilliant idea! Anyone fancy actually doing this? I find I usually need to use a new feature a few times before it sinks in, this can be hard when it's not something I need very often. A game like thingy where I could try out the feature a few times (maybe completing a timed task or something) would maybe help that a lot, and could be fun too (for the weird definition of fun that applies to people who like learning new Emacs commands)! I'd probably be up for participating in a project to create a set of these games, anyone else? I'll check back on replies to this comment after Christmas, then maybe put up a project page.
- mechanical_fish 18y agoOne might leverage some of the code from "Command Log Mode", aka mwe-log-commands, if it works the way the wiki seems to think it does: http://www.emacswiki.org/emacs-ja/CommandLogMode http://www.emacswiki.org/emacs-ja/CommandLogMode For scripted demos, I have a vision of a tool that's like the macro recorder, but that also logs the delay time between keystrokes. You can edit the recorded results if you like, adjusting the commands and the times, then play it back and it will slowly replay all the keystrokes, while echoing the name of each command into an auxiliary buffer like CommandLogMode does. You could play back audio in sync with the replayed keys if the emacs play-audio function actually works. (Crosses fingers.) Actually recording audio for a demo is almost certainly beyond emacs' capability. You'd have to use some audio-recording or screencasting software and edit it all together. The game part might be done by creating a script that sets up a Game buffer, prompts the user (in a second buffer window) to perform an task in the Game buffer, and then just keeps checking the Game buffer to see if it has reached the "win" state, at which point you congratulate the user and go on to the next task. You have to also have prominent buttons for starting the task over, or for playing the standard solution for the task so that the student can watch. You might also want to keep score in keystrokes -- move the rectangle with fewer keystrokes and hear the special victory sound!
- almost 18y agoYeah, that sounds about right, and command log mode locks like a good base to build from. The real trick will probably be in coming up with tasks that are both interesting and useful. I've set up a Github thingy at https://github.com/almost/emacspractice/ https://github.com/almost/emacspractice/ Let me know your Git hub username and I'll add you as a collaborator. We could maybe use the wiki to put some ideas together, that or just use some org-mode files in the repository itself.