*BSD News Article 90043


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!lucy.swin.edu.au!news.rmit.EDU.AU!goanna.cs.rmit.edu.au!news.apana.org.au!cantor.edge.net.au!news.teragen.com.au!news.access.net.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!cpk-news-hub1.bbnplanet.com!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!howland.erols.net!newsfeed.internetmci.com!uuneo.neosoft.com!web.nmti.com!peter
From: peter@nmti.com (Peter da Silva)
Newsgroups: comp.os.linux.misc,comp.unix.bsd.misc,comp.os.ms-windows.nt.advocacy,comp.os.os2.advocacy
Subject: Re: Betting on Unix
Date: 24 Feb 1997 20:46:45 GMT
Organization: Network/development platform support, NMTI
Lines: 93
Message-ID: <5esunl$9bv@web.nmti.com>
References: <5d3sr2$44n@nntp1.best.com> <5ehglc$lef@innocence.interface-business.de> <330EF0FF.55CE@to.me.please> <5esial$eit@innocence.interface-business.de>
NNTP-Posting-Host: sonic.nmti.com
Xref: euryale.cc.adfa.oz.au comp.os.linux.misc:160891 comp.unix.bsd.misc:2603 comp.os.ms-windows.nt.advocacy:54489 comp.os.os2.advocacy:269674

In article <5esial$eit@innocence.interface-business.de>,
J Wunsch <joerg_wunsch@interface-business.de> wrote:
> But you've been the one telling it were ``most simple''.  You might
> attribute vi to whatever you want, but ``most simple'' is one of the
> attributes it _doesn't_ deserve.

Yes it does.

It's got a uniform command format (for the most part, the "~" command and "ZZ"
shortcut don't follow it) and if you learn that and about 10 commands you're
pretty much set.

> Of course, there are other editors as well that have at least the
> power of vi, arguably even more power.  Yet, they don't take you 2
> years of hard learning until you can use them reasonably,

Neither does vi. A week of casual use is plenty, *if* you're taught the
basic command structure right away.

> even if
> you're probably not going to ever learn everything of them (but do you
> need this?).  I think i don't need to mention Emacs here...

Emacs is a disaster. It was my first timeshared editor, under TOPS, and
I never did learn more than a few commands. The command structure is a
total nightmare, with Meta- and ^X and Meta-X-foobar commands mixed up
willynilly. Some of the most common commands conflict with standard terminal
control characters (^H, ^S, and ^Q). It takes a *lot* more effort to learn
to use Emacs well than to learn to use vi well.

I went from Emacs to TV (visual teco), then to VI when I switched from TOPS
to UNIX.  Each step was a massive improvement. TV had a simpler and more
regular command structure, then VI took that and gave me easier to remember
and more mnemonic commands.

> Just as
> an example.  Unlike vi, it allows you for a much smoother learning
> curve (even though it's idiosyncrasic enough), and it makes it much
> harder to shoot in your foot.

Oh man, the things I did to myself in Emacs don't bear thinking about. I
took to vi like a fish to water (and it was the Version 6 UNIX version of
vi, a much clumsier and more primitive tool than the one folks have available
now).

> In vi, a forgotten CAPS lock key might
> turn out to be a big surprise, with incredible and irreparable damage
> that can be done in very short time.  Sure, the typical vi user habit
> of constantly hitting the ESC key while being idle on the keyboard
> might prevent the worst :),

If you have that habit, then someone has taught you the wrong basic things
about vi. 

I think it's more likely that there are people who are used to dealing with
chaos and confusion and contradictory rules, and there are people who prefer
to take that and structure it. Vi has a model that is easily structured, and
appeals to people with that reductionistic, synthetic bent. Emacs has no
command language design, and appeals to people who prefer to take a more
chaotic, holistic view.

> Peter H. Salus's ``A Quarter Century of UNIX'' also mentions the vi
> history.  It explains that by the time vi has been created, it was
> already very clear among those people who've investigated software
> user interfaces that a ``modal editor'' (command mode, insert mode,
> append mode, open mode) is indeed a very bad idea wrt. the user
> interaction.

VI is not a "modal editor". Believing that vi is a "modal editor" may well
be what's crippling you. In vi, insert and delete are not "modes", they are
"commands". They don't act like modes... there is an inherent closure in
the process... you enter "Iputsometexthere^[" and you're done. That's a
complete command. You can repeat it (with .), duplicate it with a count,
and so on. If you're losing track of which "mode" you're in, then forget
about the "mode" business and go back to commands.

Think of it as TECO with better feedback.

Ironically, TECO was the precursor to Emacs, but Emacs didn't take advantage
of any of Teco's cleverness.

> Tell me what you want, but ``easy to use'' or ``most simple''
> evaluates to FALSE when `vi' is the question.  (That doesn't mean it's
> useless, get me right on this.)

vi is easy to use, and when it's presented right it's easy to learn. It's
not the most simple editor, but it's far simpler than any other editor of
equivalent power.
-- 

             The Reverend Peter da Silva, ULC, COQO, BOFH.

                  Har du kramat din varg, idag? `-_-'