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 <ESC>` 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!