Vim for the Young and Slow -------------------------- Well, that title sounds like an insult, doesn't it? Actually, I'm going to sing a song of praise to vi-style editing. No one shall be insulted. Context: I use Vim daily at work and at home. I have my gripes about Vim, but I'm generally a fan. First observation: the phone ---------------------------- I occasionally use an SSH client on my phone to log into my desktop Linux machine to perform small tasks. I use the on-screen keyboard, so I either have an insanely small square or wide sliver for terminal output. Non-alphanumeric keys are in keyboard submenus or ssh client menus. Both are inconvenient. Aside: Sometimes I do this because it's truly useful. Often I do it just to exercise the novel ability to do it ("this is so cool, I'm operating my computer from my _phone_!"). The point is, I'm super slow at operating the computer using this method. Often my connection is ridiculously poor as well, so there's significant lag between input and result. One thing that I've noted each time I do this is how well Vim is suited to this environment. So long as the Esc "key" is easy to get to (my ssh client has it in a handy toolbar), the regular A-Z keys do pretty much everything I need. With the terrible lag (and tiny screen), I find myself using way more of the really arcane vi movement and editing commands on the phone terminal than I do on a desktop where my mechanical keyboard makes fast precision typing so much easier. I think it's interesting how the modern tech of a pocket-able touchscreen computer works so well with editing features that can trace their origins back to teletypes and slow modems. Second observation: the child ----------------------------- I have young children. They like Vim! Why do they like Vim? Same reason I like it on my phone: it does a lot with a few keystrokes. When you're first learning how to type and you're really slow (like, it takes you 5-10 seconds to find a particular key), you want the most bang for your buck with each keystroke. Vim provides this. When typing is really hard, suddenly arcane and terse commands are much more appealing. Imagine being 6 years old and finding out that you can type `10ihello ` and have "hello hello hello hello hello hello hello hello hello hello" appear on the screen. That's really cool. Compare an adult rapidly hitting backspace seven times to delete a word versus a child slowly typing `db` to delete that same word. Keyboard speed is great, but it feels like powerful magic to make the computer do the work. P.S. Emacs users: how do you do it? ================================================================= With all of the modifier keys, how do you use Emacs on touchscreen devices? How do you teach it to kids? I'm truly curious. Aside: I've started learning Emacs a bunch of times, have serious Emacs envy, and want to write features in Elisp (instead of Vimscript). I've tried Evil mode and it's amazing. Maybe someday I'll convert. Happy hacking, ladies and fellers and underground dwellers!