4 ms·
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
by SoftwareMaven 14y ago
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.
I think the goal 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!).
Now, take @gruseom's idea of a visual "goal" that you are chasing, and I think this could be intensely valuable.
- gosub 14y agoIt could show a typo where it wants you to move, like: Hood news, everyone!_ [Ctrl-A]
- varikin 14y agoI agree. When I use vim, I just know the key to press to move around. I don't think "move to the next word -> w". I know I want to move the cursor and my fingers know where to be but not really what key I am pressing.
- alttab 14y agoSounds like you are already there then. This gets you back into the cognition of it all which you aren't used to because you don't have to think about it. Its probably more helpful for people with less experience. I too find myself getting confused when reading about VIM because I don't think about it that much.
- commandar 14y agoJust to contrast, as somebody that's a novice-to-intermediate vim user, I really like this so far. The action verb model feels like it mirrors how I think when using vim, so at first blush, for me at least, it feels like a good fit. I don't know enough about Emacs to compare there, though.
- SoftwareMaven 14y agoIt may be that muscle memory in editors is created like this: 1. Identify a problem 2. Think what I need to do to fix it 3. Decide what keys I need to press 4. Direct fingers to press keys And that gets shortened eventually to: 1. Identify a problem 2. Direct fingers to press keys If that is the case, then this might be a really good first step towards that process. I would certainly not look to me for that initial feedback. Perhaps if I could try more complex things (that I don't have current muscle memory for), I would find it incredibly useful. Either way, getting better at using your tools is always a good thing.
- commandar 14y agoThat's actually a very good description of my experience learning vim so far. It starts off being a very conscious set of actions when first learning a new command -- e.g., "I want to change the word under the cursor... cw" -- before becoming something that happens subconsciously as I become more familiar with a set of commands. Where this site at least appears to work well is that once I started to understand vim commands as verbs and nouns, I started seeing actions as sentences. The drills here seem to reinforce that sentence structure type approach. I can see it being less useful for somebody that is familiar enough with their editor thatt it's already become a mostly subconscious process. While I'm comfortable using vim for the most part, I'm very far from a high level of proficiency with it.
- tripzilch 14y ago> Now, take @gruseom's idea of a visual "goal" that you are chasing, and I think this could be intensely valuable. Yes, they really need to take the words out of the equation. It's just a superfluous modality that gets in between the muscle memory, the goals and the training. Of course, this method will get you familiar with shortcuts rather quickly (I only tried the Vim ones), but then, so does printing out a cheat sheet, or reading some tutorial and an afternoon of practice. While I do believe ShortcutFoo does manage to teach that more effectively than those methods, that's not where it could really shine. To become a pro text-editor user, you really need to go beyond that, hence muscle memory, not just "memory". You don't merely need to remember the shortcut for "go one word back" when presented with the written goal "go one word back", no you must intuitively know the shortcut as soon as you identify the goal already on an abstract level. Even with a simple default editing control like this text box: As I'm typing these words, I'm not thinking of every letter I type, I don't think about whether I need to "move cursor left five times" or "move cursor left one word" or "delete word to the left" etc, I'm thinking about the sentences and ideas I want to put into this post and operate the keyboard to make that happen--and any literal textual description of shortcuts and movement commands would really just get in the way with my thought process. I haven't seen @gruseom's post yet, so maybe s/he had the same idea but: Something like a phantom cursor that indicates "get the cursor to here" or half-fade a word that you must delete? But that may become too low level once you get more advanced. What you really need is a sort of visual indication that shows a diff between the original text and the goal text, you get to look at it to take it in while a quick countdown timer goes 3-2-1 and from that point it times how quickly you can edit to the target and how many keystrokes it takes you to do it. (could even make it a colour-coded actual diff, then people get to train reading diffs as well :) [something I need to practice myself])
- joe_the_user 14y agoFurther, I don't want to need muscle memory for editing! I would take the hard stand that any repetitive keystroke combinations inherently implies inefficiency - ie, an ideal editor should provide enough shortcuts to give your keystroke stream a fairly high entropy content. Maybe we're not there yet but I don't want to develop habits which would stand in the way of such an ideal.
- tikhonj 14y agoBut that's what the muscle memory is for. If you only ever used the arrow keys to move around and backspace to delete one character at a time, you won't need any special tool for memorizing which key to use! The whole reason this tool exists is because the best text editors (Emacs ;)) do have a ton of different commands. So now you have to learn that when you wand to delete a word in front you use M-d. The "muscle memory" is just associating each of the many discrete keystrokes with an action. So instead of thinking "hmm, I need to delete this word, I'll press M-d" your hands just go to M-d as soon as you realize the word needs to be deleted. This is exactly the sort of memory you need to deal with a high-entropy command stream quickly. The ideal would be to use a ton of different commands without thinking about them at all. Now, I don't think this site is ideal for this sort of learning, but it's a step in the right direction.
- SilasX 14y ago>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. ... >Now, take @gruseom's idea of a visual "goal" that you are chasing, and I think this could be intensely valuable. I made exactly your suggestion to the author a while back, since this site was posted on HN about a month ago. A few days after that, I went to a TrueCar Ruby meetup where the author presented his shortcutfoo app, and when he asked for input, I made exactly your suggestion: Since, I reasoned, you never go from "verbal description of alteration" to "keyboard input" in actual practice, I said that it would make more sense to give some visual representation of what the desired change looks like, since that is a lot closer to how people use these shortcuts (although not an exact match, of course). Someone else then followed up by suggesting that it display "before and after" pictures (what the text/cursor look like before and after the modification), which would be pretty easy to implement. I don't know why he didn't take that suggestion, but it's unfortunate that he hasn't. Earlier post: http://news.ycombinator.com/item?id=4007096 http://news.ycombinator.com/item?id=4007096
- dools 14y agoI agree - just did this for vim. I don't think "move to end of whatever" I know what outcome I want. I never "say" it in my head. To elaborate a little, I'd like to see a "you are here": http://i.imgur.com/fDYEJ.png http://i.imgur.com/fDYEJ.png you want to be here: http://i.imgur.com/ijn0g.png http://i.imgur.com/ijn0g.png type thing. Not sure if this would work for other editors.