[comp.editors] VI

asherman@hawk.ulowell.edu (Aaron Sherman) (12/13/88)

I am having a problem with vi. When I try to edit a file that has long lines
I get a message: line too long, and most of the lines in the file get wiped
out. I can use emacs for the purpose, but emacs takes so much longer to load
and I don't know all of the commands ( they don't seem as inter-dependant as
the vi commands ). Is there any way that I can force vi to accept the longer
lines? Any help (E-mail please, I don't often read this newsgroup) would be
greatly apriciated.


			  -AJS

             "Supreame executive power derives from a mandate from 
                the masses not some farsical aquatic cerimony !"
          	       -Monty Python + the Holy Grail

chris@mimsy.UUCP (Chris Torek) (03/17/89)

In article <989@necis.UUCP> adamm@necis.UUCP (Adam Moskowitz) writes:
>Why bother with all the extra work? Mark the beginning of the block with
>"ma", go to the end of the block and type "d`a" and voila! Now go to where
>you want this block of text to be and type "p". No counting lines, only one
>mark, no extra processes. ...

You can mark either the beginning or the end of the block; vi is smart
enough to delete forwards or backwards as appropriate.  (It does not do
this in ex mode, nor in ex commands entered via the `:' command.)
But note that the sequences

	d`a

and

	d'a

give different results:

	'a

means `the line containing mark a', while

	`a

means `the character denoted by mark a'.  So d'a does a line-oriented
delete (takes lines from . to 'a inclusive), but d`a does a character-
oriented delete (takes characters from the one under the cursor to the
one at 'a, half-inclusive---the first character does get deleted, but
the last one does not).  Typically, I find that for large blocks (those
for which I use marks), I want a line-oriented delete.

The same line/character distinction applies to all movement-oriented
commands (d, c, y).  `_', as well as stuttering (dd, cc, yy), denotes
`line oriented, the current line': mnemonic, but hard to type, and it
remains only for backward compatibility.

All of this information can be found in the source code.  :-)
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

henk@cs.eur.nl (Henk Langeveld) (11/15/89)

mikulska@odin.ucsd.edu (Margaret Mikulska) writes:

>> EDT and LSE were one of the easier things to pick up when I
>>did a VAX/VMS project awhile ago ...

>I had to use VAX/VMS and EDT some time ago. EDT was extremely confusing
>for me after I had gotten used to vi.

And consider the case when you haven't got a DEC-compatible terminal,
without function keys ?

The *one* thing about vi that I really appreciate, is that I don't
need any function keys, while life without them is hard at least
on EDT/TPU/EVE.

Vi is one of those things of which you think, when you first encounter 
it: "How will I ever tame this monster?"   But once you realize 
the basic principle of input/command/line mode, it's not so bad at
all.  

Perhaps we could use a vi tutorial, to get people acquainted with
the basics of vi.  Anybody?  Maarten?

-Henk

jerry@altos86.Altos.COM (Jerry Gardner) (11/16/89)

In article <1989Nov14.223604.17418@cs.eur.nl> henk@cs.eur.nl (Henk Langeveld) writes:
>mikulska@odin.ucsd.edu (Margaret Mikulska) writes:
>
>>> EDT and LSE were one of the easier things to pick up when I
>>>did a VAX/VMS project awhile ago ...
>
>>I had to use VAX/VMS and EDT some time ago. EDT was extremely confusing
>>for me after I had gotten used to vi.
>
>And consider the case when you haven't got a DEC-compatible terminal,
>without function keys ?


Dec's EDT was written specifically for Dec terminals, starting with the
VT52 and later the VT10X and VT2XX series.  Unless a clone terminal
exactly duplicates the Dec keyboard layout, EDT will be very difficult to
use.

I've used a lot of editors over the years, including Teco, Emacs, vi, and
EDT.  When used on a Dec (or a clone with a Dec keyboard layout), EDT just
can't be beat.  I can edit just about anything faster and easier with the
EDT/VT220 combination than with any other editor.  I begin to suffer
withdrawl when I have to use vi or Emacs on a Unix system.



-- 
Jerry Gardner, NJ6A					Altos Computer Systems
UUCP: {sun|pyramid|sco|amdahl|uunet}!altos86!jerry	2641 Orchard Parkway
Internet: jerry@altos.com				San Jose, CA  95134
I don't speak for Altos, they don't speak for me.       946-6700

mcdonald@aries.uiuc.edu (Doug McDonald) (11/16/89)

In article <1989Nov14.223604.17418@cs.eur.nl> henk@cs.eur.nl (Henk Langeveld) writes:
>
>Vi is one of those things of which you think, when you first encounter 
>it: "How will I ever tame this monster?"   But once you realize 
>the basic principle of input/command/line mode, it's not so bad at
>all.  
>
The problem with using vi is not LEARNING it, it is using it. LEarning
is easy. Using is impossible: its command structure is broken,
hopeless beyond any hope of repair. Consider this: start typing
in something (after hitting "i" of course) then step mout for a Coke. 
Come back: your cursor is in the middle of the page. Are you in 
insert mode or not? Start typing - DAMMIT - oops, I forgot that
I really DID hit escape before going for that Coke. Utter mess
ensues.

EDT is a reasonable editor. Emacs is a reasonable editor. There
are dozens of fine editors for PC's and Macs. But vi is hopeless,
worse than worthless.

OF all the flame wars on Usenet, those against vi are the best.

"Hate" and "loathing" are too mild. The only appropriate word
is "murder".

Doug McDonald

ghe@nucthy.physics.orst.edu (Guangliang He) (11/16/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>
> The problem with using vi is not LEARNING it, it is using it. LEarning
> is easy. Using is impossible: its command structure is broken,
> hopeless beyond any hope of repair. Consider this: start typing
> in something (after hitting "i" of course) then step mout for a Coke. 
> Come back: your cursor is in the middle of the page. Are you in 
> insert mode or not? Start typing - DAMMIT - oops, I forgot that
> I really DID hit escape before going for that Coke. Utter mess
> ensues.

Put 'set showmode' in my .exrc, the vi can show me what mode I am in. I am
in INSERT MODE now. :-) At least this works on our SYS V machine. Maybe you
have a broken 'vi'. 

=======================================================================
USMAIL:   Guangliang He             |  INTERNET: ghe@PHYSICS.ORST.EDU
          Department of Physics     |  BITNET:   hegl@ORSTVM.BITNET
          Weniger Hall 301          |
          Oregon State University   |
          Corvallis, OR 97331-6507  |  PHONE:    (503) 737-4631
=======================================================================

jwp@larry.sal.wisc.edu (Jeffrey W Percival) (11/16/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>Consider this: start typing in something (after hitting "i" of course)
>then step out for a Coke.  Come back: your cursor is in the middle of
>the page. Are you in insert mode or not? Start typing - DAMMIT - oops,
>I forgot that I really DID hit escape before going for that Coke. Utter
>mess ensues.

I guess I don't get this.  First, perhaps stepping out of your office
when you are in insert mode is a habit you should consider changing.
Computers crash, you know.  Second, hitting the Esc key is OK if you're
not in insert mode.  I often poke the Escape just out of habit, to
"re-initialize" myself.  I can stand the beep, and it's no more trouble
than looking up the answer on some part of the screen.  In fact, I often
do this subliminally while I am looking at something more interesting
than my editor mode.

Use whatever editor you like, but to maintain maximum effectiveness
in the debate you should avoid arguments like "vi is bad because it
didn't work after I put jelly in my keyboard."
-- 
-Jeffrey W Percival (jwp@larry.sal.wisc.edu) (608)262-8686

hughes@silver.bacs.indiana.edu (larry hughes) (11/16/89)

>>> EDT and LSE were one of the easier things to pick up when I
>>>did a VAX/VMS project awhile ago ...
>
>>I had to use VAX/VMS and EDT some time ago. EDT was extremely confusing
>>for me after I had gotten used to vi.

And German was extremely confusing for me after I had gotten used
to English!

>And consider the case when you haven't got a DEC-compatible terminal,
>without function keys ?
>
>The *one* thing about vi that I really appreciate, is that I don't
>need any function keys, while life without them is hard at least
>on EDT/TPU/EVE.

But EDT and TPU are both completely programmable!  TPU even more
so than EDT.

 //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\\
|| Larry J. Hughes, Senior Programmer ||  hughes@silver.bacs.indiana.edu   ||
||        Indiana University          ||                                   ||
||   University Computing Services    ||  "The person who knows everything ||
||    750 N. State Road 46 Bypass     ||     has a lot to learn."          ||
||      Bloomington, IN  47405        ||                                   ||
||         (812) 855-9255             ||  Disclaimer: See quote above.     ||
 \\=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

wyle@inf.ethz.ch (Mitchell Wyle) (11/16/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu>
mcdonald@aries.scs.uiuc.edu (Doug McDonald) is really asking for a flame,
when he writes:

>>the basic principle of input/command/line mode, it's not so bad at
>>all.  
>>
>in something (after hitting "i" of course) then step mout for a Coke. 
>Come back: your cursor is in the middle of the page. Are you in 
>insert mode or not? Start typing - DAMMIT - oops, I forgot that
>I really DID hit escape before going for that Coke. Utter mess
>ensues.

I guess I'm not a "real" wizard yet because I'm taking the time and energy
to reply to this "whine."  During the second week (around hour 25) of using
vi, most users, when in question about which mode they are in, hit the ESC
key to get into command mode, even when they are already in it.  This action
is almost subconscious.  In command mode vi might beep (depending on
settings).  From insert mode, you'll go back into command mode whence you
may, if so desired, go back into insert mode.

I admit modes are not good.  I prefer the cognitive model of EDT to vi.
(I did use a very early version of EDT which had modes back in RSX-11 days.
Vi is better than EDT with modes.)

>EDT is a reasonable editor. Emacs is a reasonable editor. There

EDT is not available on most Unix's out of the box. (here we go again)
Emacs is too big, tries to do too much.  On a workstation with a big screen
and a window system you don't need emacs.

>worse than worthless.

I suppose if one interprets the "worth" scale to have negative values, one
must assume here that vi is detrimental in some way.  If the worth scale
bottoms out at zero, that phrase belongs in the canonical collection of
oxymorons.  (whip me, flame me, make me feel cheap ;-)

>OF all the flame wars on Usenet, those against vi are the best.

I was sort of getting into the B versus C news and .aquaria stuff myself.
We don't get alt.flame here (a real entertainment loss).

>"Hate" and "loathing" are too mild. The only appropriate word
>is "murder".

Does that mean the next vi user whom you pass at a terminal cluster
might kill you in self-defense?

>Doug McDonald

I welcome your e-mail reply, Doug.  I have debated vi versus emacs for
months on end and have several hundred kilobytes of discussion archived.

peter@ficc.uu.net (Peter da Silva) (11/16/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
> The problem with using vi is not LEARNING it, it is using it.
[flames about forgetting you're in command/insert mode]

Try hitting ESC, or :set showmode.

> EDT is a reasonable editor.

EDT is a peice of junk, totally worthless on anything but a DEC terminal
or a very good clone (It took me forever to track down all the undocumented
features EDT under VMS and RSX used when I was writing a terminal emulator:
both do really weird stuff, and they do *different* weird stuff). Even on a
real VT100, EDT has a fatal flaw:

You can't edit another file without quitting the file you're working on and
going back to DCL or MCR. Discovering this was one of those "you've GOT to
be kidding" experiences. You know, like the first time you found out about
segments on the 8086.

> Emacs is a reasonable editor.

Yes. Emacs is a decent editor. Or rather, a decent family of almost
compatible editors.
-- 
`-_-' Peter da Silva <peter@ficc.uu.net> <peter@sugar.hackercorp.com>.
 'U`  --------------  +1 713 274 5180.
"*Real* wizards don't whine about how they paid their dues"
	-- Quentin Johnson quent@atanasoff.cs.iastate.edu

bluetrol@sun.acs.udel.edu (Bluetroll) (11/16/89)

In article <29752@iuvax.cs.indiana.edu> hughes@silver.bacs.indiana.edu (larry hughes) writes:
> But EDT and TPU are both completely programmable!  TPU even more
> so than EDT.

I work in a consulting center and quite often have to edit from a
novice user's account.  I could reprogram EDT or TPU for our terminals,
but then I would get confused with the editor while helping someone.
Or I would have trouble quickly answering questions about the editor.
This would make both me and the department look bad.  Therefore I need
an editor that works well on a variety of terminals with minimal
programing.  Vi fits that description.  It is also available for the
ibm pc, so I can easily switch between working on the mainframes and 
my lab pc.  Other editors may be more powerful, but vi is best for my
needs.

sanders@sanders.austin.ibm.com (Tony Sanders) (11/17/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>The problem with using vi is not LEARNING it, it is using it. LEarning
>is easy. Using is impossible: its command structure is broken,
Seems learning it isn't as easy as you might think. :-)

>hopeless beyond any hope of repair. Consider this: start typing
>in something (after hitting "i" of course) then step mout for a Coke. 
>Come back: your cursor is in the middle of the page. Are you in 
>insert mode or not? Start typing - DAMMIT - oops, I forgot that
>I really DID hit escape before going for that Coke. Utter mess
>ensues.
The answer (as people have ALMOST pointed out already) is to type "ESC a".
or use showmode(ugh).  I will agree somewhat that the command structure
in vi is at times fouled up.  Somethings could have been done better.
Most of the problem is that it isn't as programable as one might wish
it to be, but I think the trade off was one of usablity.  I don't know
emacs (yet) but I have used other editors like it and you cannot use
other another person's setup.  You walk up and ALL the keys are
different.  You could do this with vi also but vi people DON'T.  The
reason may be that the commands are setup properly to begin with.

>OF all the flame wars on Usenet, those against vi are the best.
Agreed. :-)

I would like to point out the fact (for you pro-vi people) that I seem
to spend MUCH more time editing text (moving around, formatting, etc.)
than typing it in.  This is why I like vi.  I like having all the
command keys available UNDER my fingers.  No meta key to hit etc.  A
simple insert command and I'm typing away.  Anyone else find this to be
true?

I'm a fast typist and FROM MY EXPERIENCE the faster typists seem to
like vi while the slower ones like other editors.  I have counter
examples to this statement but it seems to be true more often than
not.  Again, any other observations?

-- sanders

cur022@zodiac.ukc.ac.uk (Bob Eager) (11/17/89)

In article <6995@ficc.uu.net>, peter@ficc.uu.net (Peter da Silva) writes:
> You can't edit another file without quitting the file you're working on and
> going back to DCL or MCR.

Yes you can. Create another buffer, read the second file into it, edit
it, and use WRITE to write it out...in fact, you can edit several files
at a time with this.
-- 
---------------------+-----------------------------------------------------
Bob Eager            | University of Kent at Canterbury
rde@ukc.ac.uk        | +44 227 764000 ext 7589
---------------------+-----------------------------------------------------

jeburke@jhunix.HCF.JHU.EDU (John Burke) (11/18/89)

In article <6995@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>
>You can't edit another file without quitting the file you're working on and
>going back to DCL or MCR. Discovering this was one of those "you've GOT to
>be kidding" experiences. You know, like the first time you found out about
>segments on the 8086.
>
>`-_-' Peter da Silva <peter@ficc.uu.net> <peter@sugar.hackercorp.com>.
 
(As my English teacher in high school taught me to say...) This turns
out not to be the case.  In fact, it is trivial to edit using multiple
buffers in EDT.  If you have a manual set available, try looking up
multiple-buffer operations.  Specifically, look up "=name" and "find
=name".  It's actually not much clunkier than EMACS for movement
between buffers, and it certainly beats the hell out of vi with
respect to _any_ operation utilizing multiple buffers.

(And, to forestall any unfounded accusations, I use all three editors
regularly. I also dabble in XEDIT under CMS [the horror...the horror]
and have been known to use WordPerfect, Word, and even MacWrite.)

mcdonald@aries.uiuc.edu (Doug McDonald) (11/18/89)

In article <6995@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
> EDT has a fatal flaw:
>
>You can't edit another file without quitting the file you're working on and
>going back to DCL or MCR. Discovering this was one of those "you've GOT to
>be kidding" experiences.

"Fatal" is a bit strong, but it is a horrible lack. In any case,
it is possible. But not in windows of any sort. And very difficult.

No one in their right mind would even try using a DEC computer
running VMS (or RT-11 or RSX-11) on anything other than a VT100,
so that is a total non-issue.

Doug McDonald

chinds@oakhill.UUCP (Chris Hinds) (11/18/89)

ghe@nucthy.physics.orst.edu (Guangliang He) writes:

>Put 'set showmode' in my .exrc, the vi can show me what mode I am in. I am
>in INSERT MODE now. :-) At least this works on our SYS V machine. Maybe you
>have a broken 'vi'. 

This is news to me.  I noticed that my Sun3 vi has 'modeline' but
no 'showmode.'  When I set modeline on, nothing appreciable changes.

Anybody have any experience with 'modeline' on the Sun? 


*************************************************
*   Motorola Microprocessor Products Sector     *
*   Austin, Tx                                  *
*                                               *
*   Chris N. Hinds <><                          *
*   oakhill!wtkatz!chinds@cu.utexas.edu         * 
*************************************************

doug@cogent.UUCP (Doug Perlich) (11/18/89)

mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>Consider this: start typing in something (after hitting "i" of course)
>then step out for a Coke.  Come back: your cursor is in the middle of
>the page. Are you in insert mode or not? Start typing - DAMMIT - oops,
>I forgot that I really DID hit escape before going for that Coke. Utter
>mess ensues.

This used to really get me too until I discovered the key that
says "Backspace" on it!!!  :-)
-Doug

irf@kuling.UUCP (Bo Thide') (11/18/89)

In article <2640@wtkatz.oakhill.UUCP> chinds@oakhill.UUCP (Chris Hinds) writes:
>ghe@nucthy.physics.orst.edu (Guangliang He) writes:
>
>>Put 'set showmode' in my .exrc, the vi can show me what mode I am in. I am
>>in INSERT MODE now. :-) At least this works on our SYS V machine. Maybe you
>>have a broken 'vi'. 
>
>This is news to me.  I noticed that my Sun3 vi has 'modeline' but
>no 'showmode.'  When I set modeline on, nothing appreciable changes.
>
>Anybody have any experience with 'modeline' on the Sun? 


We tried the 'vi' modeline on our SPARCstation 1 and found that the modeline
does not work in SunOS 4.0.3.  We have many different HP9000 boxes and on all
modern ones the HP-UX handles the modeline nicely.  So, it seems that the Sun
'vi' is broken. In fact, Sun's 'vi' is in many respects very inferior to the
HP-UX 'vi' which supports 8 bits (national characters, displayed correctly!),
setting of the timeout length in milliseconds, plus a few other things
absent in Sun's 'vi'.


   ^   Bo Thide'--------------------------------------------------------------
  | |       Swedish Institute of Space Physics, S-755 91 Uppsala, Sweden
  |I|    [In Swedish: Institutet f|r RymdFysik, Uppsalaavdelningen (IRFU)]
  |R|  Phone: (+46) 18-403000.  Telex: 76036 (IRFUPP S).  Fax: (+46) 18-403100 
 /|F|\        INTERNET: bt@irfu.se       UUCP: ...!uunet!sunic!irfu!bt
 ~~U~~ -----------------------------------------------------------------sm5dfw

allbery@NCoast.ORG (Brandon S. Allbery) (11/18/89)

As quoted from <5593@ethz-inf.UUCP> by wyle@inf.ethz.ch (Mitchell Wyle):
+---------------
| Emacs is too big, tries to do too much.  On a workstation with a big screen
+---------------

STRAW MAN ALERT

Just because Gnumacs comes with two built-in mail readers and etc. doesn't
mean that Emacs in general is "too big, tries to do too much".  Jove contains
none of that cruft -- and is of comparable size to vi, and IMHO is much more
usable.

++Brandon
(P.S.  Arguing the merits of vi on a bitmapped X screen is pretty worthless to
those of us who still must use 80x24 character terminals as well.  If I were
able to use an editor on a windowing terminal, I'd move heaven and earth to get
"sam", not vi.)
-- 
Brandon S. Allbery    allbery@NCoast.ORG, BALLBERY (MCI Mail), ALLBERY (Delphi)
uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu bsa@telotech.uucp
*(comp.sources.misc mail to comp-sources-misc[-request]@backbone.site, please)*
*Third party vote-collection service: send mail to allbery@uunet.uu.net (ONLY)*
expnet.all: Experiments in *net management and organization.  Mail me for info.

ok@mudla.cs.mu.OZ.AU (Richard O'Keefe) (11/19/89)

In article <1253@kuling.UUCP>, irf@kuling.UUCP (Bo Thide') writes:
> In article <2640@wtkatz.oakhill.UUCP> chinds@oakhill.UUCP (Chris Hinds) writes:
> >This is news to me.  I noticed that my Sun3 vi has 'modeline' but
> >no 'showmode.'  When I set modeline on, nothing appreciable changes.

> We tried the 'vi' modeline on our SPARCstation 1 and found that the modeline
> does not work in SunOS 4.0.3.

Excuse my confusion, but I thought the "modeline" option referred to picking
up commands out of a file, like -*- ... -*- in Emacs.  (These things are
lines which set the editor mode the way you want it for that file, hence the
name.)

mcdonald@aries.uiuc.edu (Doug McDonald) (11/19/89)

I have finally found a good solution, at least on "aries", which 
is a MIPS 120. A friend got MicroEmacs 3.9e to work correctly on
this box using the nominal VT100 mode. (Gnu works fine also, but
is much slower and is a pig.) So I can use that on this Unix
and 3.10 on my PC.

Of course, the PC has a 50 line screen (or 75 if you like itty bitty
type). But since we have the source code to both the MicroEmacs
and the Kermit we are using as a terminal emulator, we should
easily be able to make a 50 line "VT100" emulator.

Now, if I can just get the MicroEmacs to run on the other Unix machine...
The person who did the port had to use some ungodly mishmash of
BSD and SYS V to get it to work exactly right.

It is sooo nice to have the function keys and the PgUp and PgDn
keys working right also.

Doug McDonald

allbery@NCoast.ORG (Brandon S. Allbery) (11/19/89)

As quoted from <2640@wtkatz.oakhill.UUCP> by chinds@oakhill.UUCP (Chris Hinds):
+---------------
| ghe@nucthy.physics.orst.edu (Guangliang He) writes:
| >Put 'set showmode' in my .exrc, the vi can show me what mode I am in. I am
| >in INSERT MODE now. :-) At least this works on our SYS V machine. Maybe you
| >have a broken 'vi'. 
| 
| This is news to me.  I noticed that my Sun3 vi has 'modeline' but
| no 'showmode.'  When I set modeline on, nothing appreciable changes.
+---------------

If I recall correctly, "modeline" controls the message shown by the ^G
command.  (It may be related to other comands as well.  Unfortunately,
"modeline" isn't an option in the Xenix vi, so I can't check.)  In any case,
it is unrelated to "showmode".

The "showmode" option only exists in the most recent versions of vi (System V
Release 3, 4.3BSD).

++Brandon
-- 
Brandon S. Allbery    allbery@NCoast.ORG, BALLBERY (MCI Mail), ALLBERY (Delphi)
uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu bsa@telotech.uucp
*(comp.sources.misc mail to comp-sources-misc[-request]@backbone.site, please)*
*Third party vote-collection service: send mail to allbery@uunet.uu.net (ONLY)*
expnet.all: Experiments in *net management and organization.  Mail me for info.

gert@targon.UUCP (Gert Kanis) (11/20/89)

In article <1989Nov15.202718.12762@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>In article <1989Nov14.223604.17418@cs.eur.nl> henk@cs.eur.nl (Henk Langeveld) writes:
>>
>>Vi is one of those things of which you think, when you first encounter 
>>it: "How will I ever tame this monster?"   But once you realize 
>>the basic principle of input/command/line mode, it's not so bad at
>>all.  
>>
>Consider this: start typing
>in something (after hitting "i" of course) then step out for a Coke.
>Come back: your cursor is in the middle of the page. Are you in 
>insert mode or not?

People like you should use:

set showmode

(in their .exrc or $EXINIT). It helps (you too).
+-----------------------------------------------------------------+
| No jokes they take   |  Gert Kanis, SWP                         |
| up to much space.    |  Nixdorf Computer BV, Postbus 29         |
|----------------------|  4130 EA Vianen, Netherlands.            |
| I do not represent   |  E-mail :     targon!gert@nluug.nl       |
| anyone elses opinion.|  or ..uunet!mcsun!hp4nl!targon!gert      |
+-----------------------------------------------------------------+

kevin@ttidca.TTI.COM (Kevin Carothers) (11/21/89)

In article <3328@jhunix.HCF.JHU.EDU> jeburke@jhunix.UUCP (John Burke) writes:
>In article <6995@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>>
>>You can't edit another file without quitting the file you're working on and
>>going back to DCL or MCR. Discovering this was one of those "you've GOT to
>>be kidding" experiences. You know, like the first time you found out about
>>segments on the 8086.
>>
>>`-_-' Peter da Silva <peter@ficc.uu.net> <peter@sugar.hackercorp.com>.
> 
>(As my English teacher in high school taught me to say...) This turns
>out not to be the case.  In fact, it is trivial to edit using multiple
>buffers in EDT.  If you have a manual set available, try looking up
>multiple-buffer operations.  Specifically, look up "=name" and "find
>=name".  It's actually not much clunkier than EMACS for movement
>between buffers, and it certainly beats the hell out of vi with
>respect to _any_ operation utilizing multiple buffers.
>
 J. Burke is indeed correct. Funny. It seems like whenever someone posts
 that an editor can't do something, someone comes around a day later and
 completely disproves the statement :) EDT was fantastic with cut-paste, 
 and multiple-buffer features.

 I too used to use and love EDT. Often, I wonder if there is a PD UNIX 
 compatible version which can run on window environs.  One thing I believed
 EDT was poor on was macro definition [Although someone out there 
 probably has an easy way to do it :)]. I DO remember the RSX-11M manuals
 to be pretty lousy on the usage of EDT, though.

 Does anyone remember the name of the DEC editor that had that spiffy
 "learn" mode?  It seems that would be easy as stink to add to Vi and would
 make vi the "ultimate" macro-easy editor.

--

    Kevin Carothers           {philabs,csun,psivax}!ttidca!kevin

sanders@sanders.austin.ibm.com (Tony Sanders) (11/21/89)

In article <2640@wtkatz.oakhill.UUCP> chinds@oakhill.UUCP (Chris Hinds) writes:
>This is news to me.  I noticed that my Sun3 vi has 'modeline' but
>no 'showmode.'  When I set modeline on, nothing appreciable changes.
>
>Anybody have any experience with 'modeline' on the Sun? 

modeline verymuchnotequal showmode.

From my .exrc:
    " beware the modeline my son,
    " with macros that bite and claws that catch.
    set modeline

With modeline set vi will look for lines like (from my .Xdefaults):
      vi:map q :w!^V^M:!xrdb -nocpp -load ~/.Xdefaults^V^M^M:q^V^M:
in files you are editing and execute them.  Thus when I 'q' out of my
.Xdefaults file it runs xrdb for me.  See the manual for details.

I'm surprised that sun vi doesn't have showmode.  I could have sworn it
did when I was using them.

-- sanders

henk@cs.eur.nl (Henk Langeveld) (11/21/89)

Andrej Brodnik (Andy) writes:

>It is very interesting to read all of this staff about vi :: EDT. But let us
>do something reasonable. Let us try to enforce vi to behave as EDT on UNIX and
>EDT to be as vi on VMS. Can we?
Nice idea, good luck!

>PS: By the way let us assume to have some DEC compatible (if you would like
>ANSI) terminal with a keypad as VT1xx has it.

Look at the article that started this thread!  I do *not* have a 
DEC compatible keyboard at home, and that was the point that I tried
to make.

gandalf@cbnewsj.ATT.COM (lance.larsen) (11/22/89)

In article <7865@ttidca.TTI.COM>, kevin@ttidca.TTI.COM (Kevin Carothers) writes:
> 
>  Does anyone remember the name of the DEC editor that had that spiffy
>  "learn" mode?  It seems that would be easy as stink to add to Vi and would
>  make vi the "ultimate" macro-easy editor.

I remember that several years ago I had to do a set of manuals in six weeks
on an RSX-11M system.  The KED editor was installed on the system and I
found it extremely easy to learn and use.  It had context-sensitive HELP
keys and you could obtain appropriate information whenever you needed it.
I don't know if this is the editor you were thinking of, but I liked it
when I used it and think that the same techniques of providing information
would improve the usability of vi - especially for the novice user. I was
able to use it in about a half-hour and be productive (cutting and pasting
to cobble together a manual) on the first morning.

Lance F. Larsen
lzfme!lfl

abrodnik@watdragon.waterloo.edu (Andrej Brodnik (Andy)) (11/23/89)

In article <7865@ttidca.TTI.COM> kevin@ttidcb.tti.com (Kevin Carothers) writes:
> Does anyone remember the name of the DEC editor that had that spiffy
> "learn" mode?  It seems that would be easy as stink to add to Vi and would
> make vi the "ultimate" macro-easy editor.

Its name is KED or KEX or K52 (depends how do you run it) and it runs on RT-11,
RSX-11, and RSTS-11 I beleive.

Andrej

guy@auspex.auspex.com (Guy Harris) (11/25/89)

>This is news to me.  I noticed that my Sun3 vi has 'modeline' but
>no 'showmode.'  When I set modeline on, nothing appreciable changes.
>
>Anybody have any experience with 'modeline' on the Sun? 

The two are unrelated.

"modeline" - or, as it's called in those System V versions of "ex"/"vi"
from AT&T that have it, "modelines" - was introduced to allow people to
disable a somewhat insecure and, at times, annoying "feature" of
"ex"/"vi", namely the "feature" that it will, when reading in a file,
check the first and last file lines of the file to see if they contain
the strings "ex:" or "vi:" (or, in sufficiently old versions, "ei:" or
"vx:") preceded by a space or tab and, if so, take everything after the
":" and execute it as a command.

If "modeline"/"modelines" is set in those versions of "ex"/"vi" that
support it (which comprise a smaller set, alas, then the set of those
versions of "ex"/"vi" that have "mode lines" like that), this checking
is enabled; it is disabled by default.  You may not want to leave
"modeline" on, therefore....

"showmode" was introduced in a version of "vi" later than any of the
ones that came out of Berkeley, and causes it to display an indication
of the current mode.

SunOS "vi"s prior to the SunOS 4.1 one are based on BSD "vi"s, and lack
"showmode".  The 4.1 one will be based on the System V Release 3.1 one
(mainly to pick up support for 8-bit character sets), barring a
surprise, and will have "showmode". 

guy@auspex.auspex.com (Guy Harris) (11/26/89)

>We tried the 'vi' modeline on our SPARCstation 1 and found that the modeline
>does not work in SunOS 4.0.3.  We have many different HP9000 boxes and on all
>modern ones the HP-UX handles the modeline nicely.

I presume you by "modeline" you mean the mode line displayed by the
"showmode" command.

>So, it seems that the Sun 'vi' is broken.

No, it's not broken, it's just currently based on an older "vi" that
doesn't have "showmode".  "Fixed in 4.1".

>In fact, Sun's 'vi' is in many respects very inferior to the
>HP-UX 'vi' which supports 8 bits (national characters, displayed correctly!),
>setting of the timeout length in milliseconds, plus a few other things
>absent in Sun's 'vi'.

"Fixed in 4.1".  The 4.3BSD "vi" upon which the current SunOS "vi" is
based doesn't handle 8-bit characters and assorted other things.  The
System V Release 3.1 "vi" upon which the SunOS 4.1 "vi" will be based
does handle national characters (and displays them correctly, assuming
you have the correct font - the Sunview screen fonts should all be ISO
Latin #1 fonts), supports "showmode", and so on.

guy@auspex.auspex.com (Guy Harris) (11/26/89)

>If I recall correctly, "modeline" controls the message shown by the ^G
>command.

Nope, it controls whether "mode lines" in the file are interpreted.

>In any case, it is unrelated to "showmode".

Correct.

>The "showmode" option only exists in the most recent versions of vi (System V
>Release 3, 4.3BSD).

"modeline" is in 4.3BSD and almost in S5R3 (it's there, but called
"modelines", not "modeline", sigh); "showmode" is in S5R3 (I don't have
S5R2 source handy so I don't know if it was there), but not 4.3BSD. 

turnerk@boulder.Colorado.EDU (TURNER KENNETH WADE) (03/04/90)

I am looking for the source for vi.  At the very least I need to find out how
to configure vi. (Eg. tabsets, auto backup, etc...).
		Thank you very much
				K. Wade Turner

billd@infmx.informix.com (William Daul) (03/06/91)

Is there a way to fully justify text in VI?

Is there a VI Internet group?  I am sure there
are a ton of tricks/shortcuts that we all know
but each one of us doesn't.

Thanks,  --Bi((

karish@mindcraft.com (Chuck Karish) (03/07/91)

In article <1991Mar5.223022.14261@informix.com> billd@infmx.informix.com
(William Daul) writes:
>Is there a way to fully justify text in VI?

    :map @ 1Gi.ad b^V^M^V^[-!Gnroff

(all keystrokes shown; "^V" (CTRL-V) is there to escape the
carriage return and the ESC)

After you make this macro, typing '@' from command mode will call
nroff to justify the whole file.

	Chuck Karish		karish@mindcraft.com
	Mindcraft, Inc.		(415) 323-9000

tchrist@convex.COM (Tom Christiansen) (03/07/91)

From the keyboard of karish@mindcraft.com (Chuck Karish):
:    :map @ 1Gi.ad b^V^M^V^[-!Gnroff

I would not suggest rebinding @ -- it's a very useful command.
It would horribly break my exrc, amongst many others I'm sure.
I routinely put things in buffer to execute them.

--tom
--
	I get so tired of utilities with arbitrary, undocumented,
	compiled-in limits.  Don't you?

Tom Christiansen		tchrist@convex.com	convex!tchrist

kimcm@diku.dk (Kim Christian Madsen) (03/07/91)

billd@infmx.informix.com (William Daul) writes:

>Is there a way to fully justify text in VI?

You cannot in any way justify text, unless you know the pre-
cise  meaning of the text, not in vi nor in any other editor
word-processor (-;

Actually it is possible to have text fully adjusted  in  vi,
however  it  requires  an external program, such as nroff or
the like. What you do is to pipe the text from vi  into  the
external program and replacing the original content with the
adjusted content. The command for doing this to a  paragraph
is  "!}<command>" and from the cursor position to the end of
document "!G<command>" as in "!Gnroff -me".

				Regards,
				Kim Chr. Madsen
				kimcm@diku.dk

PS. This text was written in vi and adjusted with nroff.

javey@hybrid.UUCP (shahram javey) (03/11/91)

Someone had asked how do you justify the text from within vi:

>From the keyboard of karish@mindcraft.com (Chuck Karish):
>:    :map @ 1Gi.ad b^V^M^V^[-!Gnroff
>

If simple text formatting is sufficient for your needs try

:%!fmt

The above format the whole file. If you just want to format lines 
10 to 30, say, try

:10,30!fmt

cheers...sj

dattier@vpnet.chi.il.us (David W. Tamkin) (03/12/91)

javey@hybrid.UUCP (shahram javey) wrote in <1991Mar10.215552.8366@hybrid.UUCP>:

| Someone had asked how do you justify the text from within vi:

| If simple text formatting is sufficient for your needs try
| :%!fmt

fmt must be something in BSD Unix.  The question of justifying within vi
comes up often, and someone always says "Filter through fmt, that's all!"

Then someone else says, "There's no fmt on my system."  I've certainly never
found it anywhere I've had shell access.

(Actually, fmt, if it does what I think it does, will just reduce the
raggedness of the right edge; it won't right-justify text.  My personal
opinion is that ragged-right text is far easier to read, but that's another
matter.  Perhaps there are some command-line options to fmt that will make it
actually justify the right margin or, if that's what it does with no options
specified, there might be an option to have it produce output with a ragged
right margin as great as possible without exceeding a specified maximum.)

David Tamkin  PO Box 7002  Des Plaines IL  60018-7002  dattier@vpnet.chi.il.us
GEnie:D.W.TAMKIN  CIS:73720,1570  MCIMail:426-1818  708 518 6769  312 693 0591

merlyn@iwarp.intel.com (Randal L. Schwartz) (03/14/91)

In article <1991Mar12.055337.10655@vpnet.chi.il.us>, dattier@vpnet (David W. Tamkin) writes:
| fmt must be something in BSD Unix.  The question of justifying within vi
| comes up often, and someone always says "Filter through fmt, that's all!"
| 
| Then someone else says, "There's no fmt on my system."  I've certainly never
| found it anywhere I've had shell access.
| 
| (Actually, fmt, if it does what I think it does, will just reduce the
| raggedness of the right edge; it won't right-justify text.  My personal
| opinion is that ragged-right text is far easier to read, but that's another
| matter.  Perhaps there are some command-line options to fmt that will make it
| actually justify the right margin or, if that's what it does with no options
| specified, there might be an option to have it produce output with a ragged
| right margin as great as possible without exceeding a specified maximum.)

If the text is simple (relatively troff-escape free), I just put

	.ad b
	.ll 70
	.pl 1

in front, and say

	!!nroff

Simple.

Just another 'roff hacker,
-- 
/=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\
| on contract to Intel's iWarp project, Beaverton, Oregon, USA, Sol III      |
| merlyn@iwarp.intel.com ...!any-MX-mailer-like-uunet!iwarp.intel.com!merlyn |
\=Cute Quote: "Intel: putting the 'backward' in 'backward compatible'..."====/

curt@cynic.wimsey.bc.ca (Curt J. Sampson) (03/15/91)

In article <1991Mar12.055337.10655@vpnet.chi.il.us> dattier@vpnet.chi.il.us (David W. Tamkin) writes:
>javey@hybrid.UUCP (shahram javey) wrote in <1991Mar10.215552.8366@hybrid.UUCP>:
>
>| Someone had asked how do you justify the text from within vi:
>
>| If simple text formatting is sufficient for your needs try
>| :%!fmt
>
>fmt must be something in BSD Unix.  The question of justifying within vi
>comes up often, and someone always says "Filter through fmt, that's all!"

Yes, it is a BSDism.  However, it is available to the public at
large.  A copy comes with the mailx package.  You can ftp it from,
among other places, wimsey.bc.ca (~ftp/pub/mail/mailx.tar.Z).

cjs
-- 
			| "It is actually a feature of UUCP that the map of
curt@cynic.uucp		| all systems in the network is not known anywhere."
curt@cynic.wimsey.bc.ca	|	--Berkeley Mail Reference Manual (Kurt Schoens)