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 Vi Primer 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.
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2012-07-15 Anthony Lawrence