Live data from Hacker News

Build muscle memory with your favorite editor

shortcutfoo.com

51–60 of 122 posts

Re: Build muscle memory with your favorite editor

#51
post #39

If you want better shortcut muscle memory, just unplug your mouse for a couple days. Do this once a year or so. You can thank me later.

This is similar to how I learned the DVORAK layout actually. I switched to DVORAK, made sure that I had a couple of essays pushed off til the last minute, and bam! I knew it like the back of my hand by 3AM.

Re: Build muscle memory with your favorite editor

#54
post #13

I wonder if this actually teaches you the right kind of muscle memory. I have no difficulty with hjkl for navigating in Vim, but I had trouble associating those keys with the string "move one character". Mapping from the description of the command to the key is not the kind of muscle memory I use all day.

One thing I learned from this is that I don't know my directions. I was consistently hitting h for right and l for left.

Re: Build muscle memory with your favorite editor

#56
post #49

Earlier quoted context omitted.

Yes, but you have to enable it. It's not on by default. System Preferences -> Keyboard -> Keyboard Shortcuts And change the radio at the bottom to "All controls" under Full Keyboard Access.

To get to System Preferences, you can use CTRL-F2 to get to the Apple menu, CTRL-F3 to get to the Dock, or—if those shortcuts aren't set up (but I think that they are by default)—CMD-TAB to get to Finder, CMD-A to get to the Applications folder, and type a few letters to get to 'System Preferences.app'. :-) In the System Preferences window, you can start typing to select 'Keyboard' (keyboard focus is in the Spotlight…

Event quicker ⌘+space spotlight and type `keyboard` =)

Re: Build muscle memory with your favorite editor

#57
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.

Two suggestions which I think would be really awesome.

!. 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.

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.

Re: Build muscle memory with your favorite editor

#58

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.

Add :4 to the list of possibilities.

Re: Build muscle memory with your favorite editor

#59
post #48
post #39

If you want better shortcut muscle memory, just unplug your mouse for a couple days. Do this once a year or so. You can thank me later.

Step 2: undefine the arrow keys.

In vim you can do that by putting these lines into ~/.vimrc:

  map  
  map  
  map  
  map  
  imap  
  imap  
  imap  
  imap  
This will disable the arrow keys in normal and insert mode.

Re: Build muscle memory with your favorite editor

#60
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.

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.

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.

Post reply on HN