Sometimes after leading some customer through a vi session
to fix their problem I'll hear something like this:
"Why does (Unix/Linux) make things so hard? That 'vi'
is so primitive - they should have a word processor!"
Of course there are Linux and Unix word processors - plenty
to choose from. There are even text editors that would
probably be easier for an unskilled person to use. But
even if the person on the other end of the phone line
said "I know how to use Joe" (a common and fairly user
friendly text editor), I'd still probably say "I'd rather
lead you through it with vi."
Why? Well, first off, it's me that
is leading you through the necessary keystrokes, and it's
one heck of a lot easier for me to give precise instructions
in an editor I know cold than to say what I want accomplished
and have it get screwed up. If the person at the other
end types exactly what I tell them to type, I know what
the results will be: I don't have to wonder. If they can't
follow directions closely, it's also easy for me to know
that they weren't paying attention, and it's usually easy
to get the error fixed and get them back on track and touching
no keys until I say to.
But it's more than that. With Vi I can control what
happens and where it happens very specifically (see
to learn a bit about vi if you need to). If I need exactly
seven characters deleted, I can say "Type 7 and then x". I
don't have to worry that the person at the other end will lose count
and trash eight characters: vi will do just what I say. I can
delete exactly four lines, I can specifically delete or
change line 378, I can in one command change every occurrence
of "foo" to "bar".. you get the picture. Like most other
Unixy things, it's about having CONTROL. You don't
get that kind of power with a word processor or a "user
friendly" text editor.
Unfortunately, I don't usually have the time to explain
all this to someone who complains about primitive editors.
They probably wouldn't be interested anyway, but now that
I've written this, maybe I'll just send them a link in email..
just so they can understand why I use that "primitive" vi.