This really didn't work for me. I found needing to parse the command ("Move backward a word") broke the memory that I have built up over 15 years of using Emacs. Instead of naturally moving backwards with a flick of the fingers, I had to concentrate on where each finger was and on the key I was pressing.<p>I think the <i>goal</i> of this is great, but as it stands, I'm not convinced it is going to help. Given it aborted my natural wiring, I doubt it will be wiring things up correctly for people who don't have the wiring (I could be VERY wrong here!).<p>Now, take @gruseom's idea of a visual "goal" that you are chasing, and I think this could be intensely valuable.
This is neat, but one thing it misses is the "reward." Not a gamification award, but the visual feedback from hitting a keyboard shortcut and seeing it actually happen, which helps reinforce the connection from muscle-action to program-action.<p>Another important component is <i>seeing</i> the scenario. Seeing the words "Duplicate line" doesn't hit the same neurons as seeing the situation in the text-editor that toggles my brain to think, "I need to duplicate a line here".<p>Obviously, none of these features are trivial to implement. Great work, though!
This is neat and promising. I agree with other commenters that the weakness is in telling the user what to do in the form of text like "Move cursor to beginning of line". Routing the muscle signals through text processing in the brain is slow and isn't what goes on when you actually use an editor. i.e., there's no text in a marquee in one's head telling one what one needs to do next. Since keyboard shortcuts are all about habit and speed, you definitely don't want to require any atypical or slow mental processes.<p>For cursor movement you could show a buffer of text with some kind of target thingy that moves around, and you have to chase it using keyboard commands. That might be fun. It would also be simple to create an efficiency score based on how many commands the user used to get where they wanted to go.<p>For text manipulation you could provide some auxiliary visual indicator of what needs doing. For example, to practice deletion, have a buffer of text and some visual indicator of a character, word, or line that needs deleting. Say it flashes (probably a bad choice, but whatever). Then the user's job is to use the right shortcut to delete the flashing thing. At first, the software could move the cursor to the right place before each new command. For more advanced users, you could tell them "First move the cursor to the right place and then invoke the right command to delete the flashing thing". As soon as they delete one bit, another bit starts flashing. You could measure how long it takes to delete everything in the buffer this way. That might be fun too.
I wonder if this actually teaches you the right kind of muscle memory.<p>I have no difficulty with hjkl for navigating in Vim, but I had trouble associating those keys with the string "move <up/down/left/right> one character".<p>Mapping from the description of the command to the key is not the kind of muscle memory I use all day.
Wow. Nothing like waking up on Monday morning to find your app at the top of Hacker News. Thanks to whoever posted this :)<p>This is awesome feedback. It looks like the most requested feature right now is moving from reading words to a more visual representation of what's happening. This is definitely something I've thought about - but didn't want to attempt until I received exactly this type of response. Thanks! I'll definitely move this up as a top priority and hopefully have something implemented soon.<p>Thanks for everyone else's feedback. I'll carefully read each post and email I've received and respond appropriately.<p>Someone asked about the tech stack: backbone.js + sinatra + mongodb hosted on heroku (2 dynos). I'll try and get a blog post up with more on this plus possibly a HN postmortem if there is interest.<p>ps. I'll get eclipse added as well :)
If you get something wrong, and what you type is longer than the expected answer, you end up failing the next couple of questions too.<p>muscle memory - if you type eg "uptime" when the answer should be "free", it fails on the first character, but you're still typing, by which time it's on to the next question. which you then fail, because the answer to the next question isn't "ptime"
Textmate: ⌘-[ for shifting left is "History > Back" in Safari and happens every time when it's the last shortcut in drill mode, which happened to me both times I tried.<p>Otherwise nice tool. I agree with the others about visual feedback. For Photoshop: Show the part of the palette you want instead of the name of the tool.
I'm a little surprised at the lack of Eclipse support, given Java is one of the most popular languages and Eclipse is the most popular Java IDE<p><a href="http://zeroturnaround.com/wp-content/uploads/2010/11/IDEs.png" rel="nofollow">http://zeroturnaround.com/wp-content/uploads/2010/11/IDEs.pn...</a>
Had this idea too, glad someone has executed on it so awesomely. I've been eager to get better at Sublime Text, so will start using this.<p>Two suggestions which I think would be really awesome.<p>!. The hard part of exercising though is getting your butt to the gym. What if you could sign up for a daily email that keeps you at it, challenging you to take it to the next level, tracks your progress, sets goals and reminds you to make them, etc.<p>2. It's really abstract to just hit key commands without seeing them actually do something. What if you made small animated gifs for each action your are emulating, maybe even with a full fake editor background? This way, your brain would be tricked further that you are actually performing the action represented by the keyboard shortcut.
Cool site, but a minor annoyance, is that some editors, like vim, have multiple ways of accomplishing a task. For instance move to line 4 can be done with 4G or 4gg, but only accepts 4G, which is frustrating as I've already internalized 4gg :) I'm sure there are others.
That's really fun. I love the site design, very slick.<p>Found a "bug". Some of the keyboard shortcuts conflict with my browser shortcuts.<p>For example, in one of the emacs drills, to move down a line (ctrl + n) it causes chrome to open a new window... so I could never complete the drill because of this.
Am I the only one that can't get this to work? First the legend shows a few of the keys as ⌥.<p>Then, say for Sublime to cut a line it's ctrl+shift+k. It shows K.<p>So I try hitting ctrl then shift - nothing.
I try typing ctrl then shift - wrong.
I try entering a caret (^) for ctrl - wrong.<p>Just what are you supposed to do?
Wow, this is actually fairly awesome. Works better than the vim cheatsheet I have hanging next to my monitor.<p>That said, the site can be pretty confusing. What's the difference between practice and drill (other than slight interface difference?)
It would be nice if the prompts at the end of sections could be easily keyboard-activated. (For instance, the "Start Drill" button that I have to take my hands off the keyboard to click.)
This is great, I've seen a web game that you can use to practice vim schortcuts. But since this one's about building muscle memory, I don't see how this is going to be better than the actual use of the editor itself. Using the actual editor not only gives you the actual feeling but also challenge you with the real text editing tasks. CMIIW. But this is still useful if you just want to see a cheatsheet or not knowing certain shortcuts in the editor.
This is great, similar to the code drills posted a couple of days ago, pretty good way to get that crucial memory in place. Did drill, would drill again.
I have to enable way too much stuff in NoScript to proceed when I actually click on an editor button. Giving permissions just to shortcutfoo is not enough. NoScript also shows airbrake.io, stripe.com, olark.com. I don't know what any of those are, so I'm not enabling them. So I cannot use your website, as cool as the premise sounds :/
I only use vim, and from using this site for 3 minutes there's clearly plenty of knowledge that I'm missing. I really wish that it would teach me the commands it was drilling me on, and not just expect me to know the key strokes. I know I can pull up the shortcuts reference, but I feel like it should train and hint, then drill.
I feel like this is the equivalent of obsessing too much about going to the gym. What about good old "on the job training"? The shortcuts you need, you will eventually internalize... instead of using up time on an exercise like this. I mean, it might give some benefit, but is it worth the mindlessness?
What I found missing in this is _why_ I would want to jump to a matching bracket, or insert a line before.<p>Perhaps the game should be to transform one block of code into something different in as few keystrokes as possible.<p>I would love to see videos of people using commands that are not a part of my current vocabulary.
Neat.. kinda fun.<p>One thing is you might want to allow people to configure the META key. I have Emacs set up so that the Command key is META, so all my muscle memory is ruined when trying to run through the drills.<p>But I like the concept and might use it to increase my shortcut kung-fu.
I think a cross between this and vimgolf would be really good. Basically where you just get things you need to do like changing the paragraph formatting and you just implement them to help you get in a state of flow with your editor.
A great idea.<p>Ctrl-shift-T is the key for repeating duplication in Photoshop, but it's also the shortcut for create the most recent tab in Chrome, so it's impossible to enter it unless you change your browser settings, which I'm not sure I want to do.
I thought this was a great idea. But I simply am an idiot and can't figure out how to use it. They tell you to type these || characters and it always spits back a fail when I try it. They need more user testing feedback.
Love the concept, however this is much like learning a language by learning to translate.<p>求 -> ball -> O (actual ball)<p>vs<p>求 -> O (actual ball)<p>Classic study vs immersion.<p>The implementation will be much harder, but for this to be effective show the manipulation, not the description.
It's nice, but I'm not sure that's how my mind works when I'm working in VIM. I wonder how I'd react if I was put in an actual document and then prompted somehow to do the same exercises.
This is a fun project. But I'm not sure about the 5 bucks. Seems like it's begging to be rich too soon. This app is just revealing information you already have on a cheat-sheet.
I found it confusing because it was using capital letters when shift wasn't implied. So I'd hit shift to capitalize like it displayed and it'd be wrong.