bob@imspw6.UUCP (Bob Burch) (03/07/89)
From Ted Holden, HTE: About the only good thing I can say about the vi editor, which I've been unsuccessfully trying to avoid for about the last ten years, is that it's a standard. AT&T should get together with Sammy Mitchell or somebody who knows how to construct reasonable modern text editors and come out with something up to 1989 standards for a text editor for V.4 and just get rid of vi which, along with nroff and troff and a couple of other items I could mention, cannot possibly be serving any further purpose other than as ammunition for the UNIX-haters. Ted Holden HTE
jik@athena.mit.edu (Jonathan I. Kamens) (03/07/89)
Must we get into the flame wars about different Unix(TM) text editors again? I {\em really} don't think we're going to get any more out of it this time than we have at any time in the past. I think they keyword when it comes to editors is "tolerance" -- you like your editor, other people like theirs, and it should stay that way. In article <222@imspw6.UUCP> bob@imspw6.UUCP (Bob Burch) writes: >From Ted Holden, HTE: > >[flames about vi, nroff and troff] Jonathan Kamens USnail: MIT Project Athena 410 Memorial Drive, No. 223F jik@Athena.MIT.EDU Cambridge, MA 02139-4318 Office: 617-253-4261 Home: 617-225-8218
richard@torch.UUCP (Richard Nuttall) (03/09/89)
>From Ted Holden, HTE: >About the only good thing I can say about the vi editor, which I've >been unsuccessfully trying to avoid for about the last ten years, is >that it's a standard. AT&T should get together with Sammy Mitchell or >somebody who knows how to construct reasonable modern text editors and >come out with something up to 1989 standards for a text editor for V.4 >and just get rid of vi which, along with nroff and troff and a couple >of other items I could mention, cannot possibly be serving any further >purpose other than as ammunition for the UNIX-haters. ABSOLUTELY!!!! I HATE vi. I have only had to use vi in the last couple of months, before that I have used decent custmisable editors (WYSIWYG) such as VAX TPU (a highly customised version of EVE) APOLLO dm editor MICROSOFT C5.1 M editor I am currently trying to find a sensible editor that I can use on Torch Quad-X, Torch XXX, Sun386, Sun3/60, Sun4, all running some form of unix or other, both native mode (i.e. suntools) and with xterm. I have tried JOVE and am looking at CRISP, but what I really want is one that, when running X, you can use the mouse to copy around text, point to a place in the text, and resize windows dynamically without blowing up the editor. I have heard that a GNU EMACS can do at least some of this, and am trying to get the sources at the moment. Does anyone have any other suggestions for customisable WYSIWYG editors that are portable and work with X ? (I know its asking a lot). -- Richard Nuttall | ukc!stc!datlog!torch!richard Torch Technology Ltd. | Cambridge England | 0223 841000 X 309
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (03/09/89)
In article <222@imspw6.UUCP> bob@imspw6.UUCP (Bob Burch) writes: | About the only good thing I can say about the vi editor, which I've | been unsuccessfully trying to avoid for about the last ten years, is | that it's a standard. AT&T should get together with Sammy Mitchell or | somebody who knows how to construct reasonable modern text editors and | come out with something up to 1989 standards for a text editor for V.4 | and just get rid of vi which, along with nroff and troff and a couple | of other items I could mention, cannot possibly be serving any further | purpose other than as ammunition for the UNIX-haters. (a) are you perhaps confusing text editors with word processors? (b) why don't you use emacs, or brief, or whatever without trying to shove your ideas down our throats. (c) nice to know vi and troff are obsolete. We run a number of machines which do nothing else. People make money selling vi and [nt]roff for MS-DOS. Could it be people *like* these tools? (d) you don't usually post as though God gave you special insight into the problems of the world, what in hell got into you this time? -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
miket@brspyr1.BRS.Com (Mike Trout) (03/10/89)
In article <9653@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes: > Must we get into the flame wars about different Unix(TM) text editors > again? I {\em really} don't think we're going to get any more out of > it this time than we have at any time in the past. I think they > keyword when it comes to editors is "tolerance" -- you like your > editor, other people like theirs, and it should stay that way. Well, that's true; everybody has a right to their own opinions and tastes, BUT: You can use vi all you want, and it may work just fine for you. Fine; that's your business. But you should be aware that while you are putt-putting along in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. You may be very comfortable with the Pup, but the real world has left you behind. The Pup may serve you very well the rest of your days, but God help you if you ever find yourself in serious financial competition with somebody who uses up-to-date text editors. In the 1970s, vi was the greatest thing since hot fudge sundaes. But check your calendars. The world moves on, and "it should stay that way" is an attitude that blows away with the wind every decade or so. I'm sure that this was the same argument used when transistors began to replace vacuum tubes: "I like tubes, I'm comfortable with them, and I'm going to continue to use them. It should stay that way." Guess what happened to all those vacuum tube freaks? -- NSA food: Iran sells Nicaraguan drugs to White House through CIA, SOD & NRO. ~~~~~~~~~~~~~~~~~~~~~~~~Michael Trout (miket@brspyr1)~~~~~~~~~~~~~~~~~~~~~~~~~ BRS Information Technologies, 1200 Rt. 7, Latham, N.Y. 12110 (518) 783-1161 "God forbid we should ever be 20 years without...a rebellion." Thomas Jefferson
bph@buengc.BU.EDU (Blair P. Houghton) (03/10/89)
In article <222@imspw6.UUCP> bob@imspw6.UUCP (Bob Burch) writes: > >From Ted Holden, HTE: > >About the only good thing I can say about the vi editor, which I've >been unsuccessfully trying to avoid for about the last ten years, is >that it's a standard. AT&T should get together with Sammy Mitchell or >somebody who knows how to construct reasonable modern text editors and >come out with something up to 1989 standards for a text editor for V.4 >and just get rid of vi which, along with nroff and troff and a couple >of other items I could mention, cannot possibly be serving any further >purpose other than as ammunition for the UNIX-haters. Tell Ted to put his cap-pistol away. Vi is a perfectly sound editor. --Blair "Whaddaya mean, I have to learn Lisp just to compose a macro...!?"
peter@ficc.uu.net (Peter da Silva) (03/10/89)
In article <5552@brspyr1.BRS.Com>, miket@brspyr1.BRS.Com (Mike Trout) writes: > You can use vi all you want, and it may work just fine for you. Fine; that's > your business. But you should be aware that while you are putt-putting along > in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. Balderdash. vi might be hard for some people to learn (though god knows why... it's the only editor I know of for UNIX with a consistant syntax), but it's got features I can't do without. I haven't found another editor, on any machine, that does a decent job of supporting regular expressions for search and replace... something I use continually. You like analogies? How about this one. You can use $(your-favorite-editor) all you want, and it might work just fine for you. Fine; that's your business. But you should be aware that while you're backing your Caddilac out of the driveway and coaxing it down the street, we've already been to the grocery and back. > you if you ever find yourself in serious financial competition with somebody > who uses up-to-date text editors. This is so weird I can't begin to address it. I'll just ask how much of programming is coding? Some of us even use pencils and paper when designing a system... > Guess what happened to all those vacuum tube freaks? They got good jobs at audiophile magazines? -- Peter da Silva, Xenix Support, Ferranti International Controls Corporation. Business: uunet.uu.net!ficc!peter, peter@ficc.uu.net, +1 713 274 5180. Personal: ...!texbell!sugar!peter, peter@sugar.hackercorp.com.
ked@garnet.berkeley.edu (Earl H. Kinmonth) (03/11/89)
In article <5552@brspyr1.BRS.Com> miket@brspyr1.BRS.Com (Mike Trout) writes: >In article <9653@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes: > >your business. But you should be aware that while you are putt-putting along >in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. How about something other than cute rhetoric? How do you measure performance and utility differences in editors? How did you make such measurements? Did you make such measurements? There is also more to editors than perceived speed. Here is a test for your favorite editor. Let me know if it passes. vi does, at least on Sony work stations. The test: can your editor process text and programs destined for all of the world's largest computer and software markets. (In case you've been too busy tooling around in your P38 to notice, Japan is the second largest market, and in 1992 it will be the EEC. That means your editor must handle all European languages plus Japanese.)
mercer@ncrcce.StPaul.NCR.COM (Dan Mercer) (03/11/89)
In article <5552@brspyr1.BRS.Com> miket@brspyr1.BRS.Com (Mike Trout) writes: :In article <9653@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes: : :> Must we get into the flame wars about different Unix(TM) text editors :> again? I {\em really} don't think we're going to get any more out of :> it this time than we have at any time in the past. I think they :> keyword when it comes to editors is "tolerance" -- you like your :> editor, other people like theirs, and it should stay that way. : :Well, that's true; everybody has a right to their own opinions and tastes, BUT: : :You can use vi all you want, and it may work just fine for you. Fine; that's :your business. But you should be aware that while you are putt-putting along :in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. :You may be very comfortable with the Pup, but the real world has left you :behind. The Pup may serve you very well the rest of your days, but God help :you if you ever find yourself in serious financial competition with somebody :who uses up-to-date text editors. : :In the 1970s, vi was the greatest thing since hot fudge sundaes. But check :your calendars. The world moves on, and "it should stay that way" is an :attitude that blows away with the wind every decade or so. I'm sure that this :was the same argument used when transistors began to replace vacuum tubes: :"I like tubes, I'm comfortable with them, and I'm going to continue to use :them. It should stay that way." Guess what happened to all those vacuum tube :freaks? : :-- :NSA food: Iran sells Nicaraguan drugs to White House through CIA, SOD & NRO. :~~~~~~~~~~~~~~~~~~~~~~~~Michael Trout (miket@brspyr1)~~~~~~~~~~~~~~~~~~~~~~~~~ :BRS Information Technologies, 1200 Rt. 7, Latham, N.Y. 12110 (518) 783-1161 :"God forbid we should ever be 20 years without...a rebellion." Thomas Jefferson Sure, you could always use WordPerfect. Until they carry you kicking and screaming into the night. -- Dan Mercer Reply-To: mercer@ncrcce.StPaul.NCR.COM (Dan Mercer)
walkerb@tramp.Colorado.EDU (Brian Walker) (03/11/89)
In article <3370@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >You can use $(your-favorite-editor) all you want, and it might work just >fine for you. Fine; that's your business. But you should be aware that >while you're backing your Caddilac out of the driveway and coaxing it down >the street, we've already been to the grocery and back. In article <5552@brspyr1.BRS.Com>, miket@brspyr1.BRS.Com (Mike Trout) writes: > You can use vi all you want, and it may work just fine for you. Fine; that's > your business. But you should be aware that while you are putt-putting along > in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. In article <666@The_Machine>, floyd@The_Machine.NET (Pink Floyd) Writes: > My editor is better than your editor, so go [explicative deleted] yourself. Actually, for all of it's clunks and clatters, vi is livable. I wouldn't mind having a true full screen editor, but vi does offer the ability to work on any terminal for which a termcap is defined. It's command set isn't as bad as the one for Emacs (as in, :wq is a lot easier to grasp than ^X^F). And, you can learn to hit the dreaded [esc] key. On VMS however, my preferred editor is EVE. It's a nice full screen editor that works like I expect full screen editors to work. On the down side, it needs VT-100 emulation or better so using EVE on the TVI-912 terminals around here is not. -- an option to consider seriously. Brian Walker, University of Colorado at Boulder walkerb@tramp.colorado.edu ...!{ncar,nbires}!boulder!tramp!walkerb A person who claims that absolute zero is impossible to obtain has not taken a quiz in thermo yet.
steiny@hpcupt1.HP.COM (Don Steiny) (03/11/89)
> From Ted Holden, HTE: > AT&T should . . . come out with . . . a text editor for > V.4 and just get rid of vi . . . Why don't you just write one? I am sure that since it would be such a big improvement you would make a bundle.
krazy@claris.com (Jeff Erickson) (03/11/89)
From an article by walkerb@tramp.Colorado.EDU (Brian Walker): > Actually, for all of it's clunks and clatters, vi is livable. I wouldn't mind > having a true full screen editor, but vi does offer the ability to work on any > terminal for which a termcap is defined. It's command set isn't as bad as the > one for Emacs (as in, :wq is a lot easier to grasp than ^X^F). And, you can > learn to hit the dreaded [esc] key. > With the version of emacs I grew up on, and with enough work, you could program it to act exactly like vi. That's on of the main advantages (I think) of emacs: I can customize it to my heart's delight. I can make any key do anything. If I don't like something, I can change it to something I do like. I don't know how many times I've wanted to do that with other text editors/word processors!! Having been spoiled by emacs, I really dislike vi. -- Jeff Erickson \ Internet: krazy@claris.com AppleLink: Erickson4 Claris Corporation \ UUCP: {ames,apple,portal,sun,voder}!claris!krazy 415/960-2693 \________________________________________________________ ____________________/ "I'm so heppy I'm mizzabil!"
c60c-3ds@web-1b.berkeley.edu (John Kawakami) (03/11/89)
For the record: I like both vi and emacs/JOVE/GNUemacs about the same. I like them much more than "word processors" for most applications because most of the text I deal with is code or unformatted text. If you do different types of editing, you need different editors. That's that. What would be nice to have is a small editor that can automatically format source code the way you want it, and without lots of hassle (GNUemacs is _not_ small!). It should also be able to do rudimentary real time syntax checking, so a stray letters don't blow a compile. A larger buffer for the line on the bottom of the screen could give me more information on matching parens, errors, text marks, search strings. Maybe even better support for better hilighting esp. on color monitors. Another significant development will probably be natural language commands that neophytes (read, non hacker/programmer/superuser) can use. Imagine, someone doing a _real_ search without ever learning what a regexp is. John Kawakami c60c-3ds@web.berkeley.edu
bogstad@smoke.BRL.MIL (William Bogstad ) (03/11/89)
In article <252@torch.UUCP> richard@torch.UUCP (Richard Nuttall) writes: >ABSOLUTELY!!!! >I HATE vi. > >I have only had to use vi in the last couple of months, before that >I have used decent custmisable editors (WYSIWYG) such as > Just out of curiosity ,but what particular feature or non-feature of vi makes it not a WYSIWYG editor? With vi you get exactly what you see on your screen no more and no less. Bill Bogstad BTW, I don't use vi.
cosell@bbn.com (Bernie Cosell) (03/11/89)
In article <7324@boulder.Colorado.EDU> walkerb@tramp.Colorado.EDU (Brian Walker) writes: }Actually, for all of it's clunks and clatters, vi is livable. I wouldn't mind }having a true full screen editor, but vi does offer the ability to work on any }terminal for which a termcap is defined. It's command set isn't as bad as the }one for Emacs (as in, :wq is a lot easier to grasp than ^X^F). And, you can }learn to hit the dreaded [esc] key. Actually, you hardly have to hit "escape" at all in vi. a bit of creative use of the "map!" command and you can have essentially ALL of your normal-editing chars available in input-mode. Once you do that, it stops being "input mode versus command mode", but rather "text editing mode versus general command mode". You can't quite do *everything* you might like, but you can come *awful* close. [e.g., as I type this in input mode, my arrow keys are "enabled", I have word-forward/backward, end-of-line, beginning-of-line, a fistful of assorted deletes and some other junk all set up.] I actually like it BETTER that way: when I'm typing in running text, the *only* commands active are those that relate directly to typing-in-running-text. All the random ones (save the file, copy a paragraph, etc, etc) require that (in the way I look at things) I *do* something to "enable" all the other non-local commands. I could do lots more with my .exrc, but bascially I added input-mode-commands until I found that I didn't need any more and then I stopped (yes, the emacs philosophy of "you should do everything you can" isn't the preferred operating mode for some of us)... for example, I worked up a bunch of language-specific command sets, for TeX, and C and Lisp and... but mostly I didn't need them enough so I didn't bother finishing them up. About the only thing I really miss with vi is being about to point-at, and mark-regions-of text with my mouse. __ / ) Bernie Cosell /--< _ __ __ o _ BBN Sys & Tech, Cambridge, MA 02238 /___/_(<_/ (_/) )_(_(<_ cosell@bbn.com
john@frog.UUCP (John Woods) (03/12/89)
In article <9837@smoke.BRL.MIL>, bogstad@smoke.BRL.MIL (William Bogstad ) writes: > In article <252@torch.UUCP> richard@torch.UUCP (Richard Nuttall) writes: > >ABSOLUTELY!!!! > >I HATE vi. > >I have only had to use vi in the last couple of months, before that > >I have used decent custmisable editors (WYSIWYG) such as > Just out of curiosity ,but what particular feature or non-feature > of vi makes it not a WYSIWYG editor? With vi you get exactly what you > see on your screen no more and no less. > Ah, but wimps who would say "wishywig" with a straight face would never be content with monopitch, monofont, ragged-edge printed documents, no matter how unimportant the actual text is... :-) -- John Woods, Charles River Data Systems, Framingham MA, (508) 626-1101 ...!decvax!frog!john, john@frog.UUCP, ...!mit-eddie!jfw, jfw@eddie.mit.edu "He should be put in stocks in Lafeyette Square across from the White House and pelted with dead cats." - George F. Will
dieter@jupiter.nmt.edu (The Demented Teddy Bear) (03/12/89)
In article <9837@smoke.BRL.MIL>, bogstad@smoke (William Bogstad ) writes: > Just out of curiosity ,but what particular feature or non-feature > of vi makes it not a WYSIWYG editor? With vi you get exactly what you > see on your screen no more and no less. Well, one of my favorite examples is editing executables (yes, I know this is evil and vile, but when you don't have source and a hard-wired string is completely wrong....) You can do this under GNU (and probably other) Emacs. Vi complains about non-ASCII characters and truncated lines, and when you write the resulting file out, you get an exec error (bad format, I believe). Also, the screen display is missing the top few lines (why, I don't know, but it's consistent behaviour). This, BTW, is on a Sun 3 running SunOS 3.5. I've used Emacs to edit binaries on several flavors of Unix, so it isn't specific to Sun. The other major lack is windowing. Being able to actually see multiple files (or non-adjacent parts of the same file) is incredibly helpful. Overall, though, Emacs is not a WYSIWIG editor. That usually implies that you see italics, bold face, and what not exactly as it will appear in the resulting print-out. For (hopefully) obvious reasons, this isn't practical in the Unix world. Sure, you may have a bit-mapped display on your desk, but the five blokes down the hall rlogin'd from their VT-100s don't have quite the same resolution. But, being able to see everything in the file helps. Dieter -- Welcome to the island. You are number six. dieter%nmt@relay.cs.net dieter@jupiter.nmt.edu
bph@buengc.BU.EDU (Blair P. Houghton) (03/12/89)
In article <252@torch.UUCP> richard@torch.UUCP (Richard Nuttall) writes: > >Does anyone have any other suggestions for customisable WYSIWYG editors >that are portable and work with X ? (I know its asking a lot). You could try Xedit, but then it's YOUR computer... --Blair "...and _you_ have to clean up after it and keep it fed and..."
bph@buengc.BU.EDU (Blair P. Houghton) (03/12/89)
In article <9059@claris.com> krazy@claris.com (Jeff Erickson) writes: >From an article by walkerb@tramp.Colorado.EDU (Brian Walker): >>Actually, for all of it's clunks and clatters, vi is livable. I >>wouldn't mind having a true full screen editor, but vi does offer the >>ability to work on any terminal for which a termcap is defined. It's >>command set isn't as bad as the one for Emacs (as in, :wq is a lot >>easier to grasp than ^X^F). And, you can learn to hit the dreaded >>[esc] key. >With the version of emacs I grew up on, and with enough work, you could >program it to act exactly like vi. > >That's on of the main advantages (I think) of emacs: I can customize it >to my heart's delight. I can make any key do anything. [...] That's one of vi's even bigger advantages; while it, too can be re-macroed to do whatever you please, there ain't no way you're going to ever put together the macros to make it act like emacs :-) :-) :-) --Blair "And if you ever wanted to, I'd sell you forty percent of my thirty percent of the consortium's tewnty percent of the Brooklyn bridge. |-D |-D |-D |-D |-D |-D |-D
nmm@apss.ab.ca (Neil McCulloch) (03/12/89)
In article <252@torch.UUCP>, richard@torch.UUCP (Richard Nuttall) writes: > ABSOLUTELY!!!! > I HATE vi. > > I have only had to use vi in the last couple of months, before that > I have used decent custmisable editors (WYSIWYG) such as At the risk of contributing to editor wars... Look, vi might not do all you want it to do, and YOU might find it hard to use. However, you can teach a complete neophyte how to use vi in about 5 minutes, and it is powerful and customisable enough to meet your average user's needs. There are lots of editors out there, each one the best for a particular situation. It is up to the user to choose the tool required to do the job they want to do. This is part of the UNIX philosophy. Hence UNIX gives us: sed, ed, ex, vi as standard. To which you can add you're favourite emacs clone or other editor. Incidentally, the same goes for other UNIX tools: nroff, troff and so on. Each one does a particular job at a certain level of complexity. People who criticise UNIX for having this hierachal approach to tool and application programs simply miss the point. And finally, there are top of the line applications programs becoming available to meet the needs of users with very specific needs and dare I say it, predilections. Cheers, neil Header says it all...
karish@forel.stanford.edu (Chuck Karish) (03/13/89)
In article <1028@apss.apss.ab.ca> nmm@apss.ab.ca (Neil McCulloch) wrote: >In article <252@torch.UUCP>, richard@torch.UUCP (Richard Nuttall) writes: >> ABSOLUTELY!!!! >> I HATE vi. >> I have only had to use vi in the last couple of months, before that >> I have used decent custmisable editors (WYSIWYG) such as >Look, vi might not do all you want it to do, and YOU might find it hard >to use. However, you can teach a complete neophyte how to use vi in >about 5 minutes, and it is powerful and customisable enough to meet >your average user's needs. vi is fine as a programmer's editor, where the writer has to control all the line breaks anyway. I use it all day long. It's not as good as a general-purpose text editor. Try to teach a secretary vi AND troff in five minutes. WordPerfect is available for some Unix systems. Chuck Karish karish@denali.stanford.edu hplabs!hpda!mindcrf!karish (415) 493-7277
prc@maxim.ERBE.SE (Robert Claeson) (03/13/89)
In article <7324@boulder.Colorado.EDU>, walkerb@tramp.Colorado.EDU (Brian Walker) writes: > On VMS however, my preferred editor is EVE. It's a nice full screen editor > that works like I expect full screen editors to work. On the down side, it > needs VT-100 emulation or better so using EVE on the TVI-912 terminals around > here is not. EVE on a VT220-or-better terminal is probably the best editor I've ever used. Anyone who knows of a PD version of TPU and EVE for UNIX? 8> -- Robert Claeson, ERBE DATA AB, P.O. Box 77, S-175 22 Jarfalla, Sweden Tel: +46 (0)758-202 50 Fax: +46 (0)758-197 20 EUnet: rclaeson@ERBE.SE uucp: {uunet,enea}!erbe.se!rclaeson ARPAnet: rclaeson%ERBE.SE@uunet.UU.NET BITNET: rclaeson@ERBE.SE
gaynor@athos.rutgers.edu (Silver) (03/13/89)
john@frog.UUCP writes: > Ah, but wimps who would say "wishywig" with a straight face would never be > content with monopitch, monofont, ragged-edge printed documents, no matter > how unimportant the actual text is... :-) This brings to mind several readability issues which it won't hurt to air again. In general, - Text written in ALL UPPER-CASE (of the same font as the surrounding text) is *much* harder to physically read. The reason for this is that the upper-case characters in a given font are basically the same size, and, in most fonts, don't extend below the base line at all (except Q on occasion). (Mixed-font upper case is usually ok, e.g., LaTeX's \sc declaration.) - Unless the space between characters and words can be adjusted uniformly, text that is both left- and RIGHT-JUSTIFIED is difficult to read. The non-uniform gaps tend to catch the eye and keep it there. Much better to leave the right edge ragged. - DOUBLE-SPACED text is slightly more difficult to read than text less-heavily spaced. Text too closely spaced can also be difficult. (If you're using LaTeX, try a stretch of 1.2 - 1.3 with the default skip, and see if you like that better.) - LONG AND SHORT LINES (outside of something like [20, 80]) are more difficult to read. For the real long lines, the eye has trouble spotting the beginning of the next line. For read short lines, the eye has to shift to the beginning of the next line too often. I'm told that 50 - 60 characters is optimum. (You can see that I choose to trade optimal line length for better usage of screen acreage). Comments? Additions? Regards, [Ag] gaynor@rutgers.edu "vi's a dog!"
ath@helios.prosys.se (Anders Thulin) (03/13/89)
In article <Mar.12.17.20.24.1989.29073@athos.rutgers.edu> gaynor@athos.rutgers.edu (Silver) writes: > In general, > [ ... ] > - Unless the space between characters and words can be adjusted uniformly, > text that is both left- and RIGHT-JUSTIFIED is difficult to read. The > non-uniform gaps tend to catch the eye and keep it there. Much better to > leave the right edge ragged. I would like to restrict that to adjusting space between words only. Most readers don't read the letters of a word, they read the entire word in one 'gulp'. Adjusting the space between the letters changes the 'image' of the word, and makes it more difficult to read. [Caveat lector: This is only my opinion. I don't know of any legibility research that contradicts it. Do you? If you do, I'd like to know of it.] Also, altering the letter spacing inside words usually changes the 'colour' of the page, and gives 'grey' spots or bands on the page. This might be unwanted in very high-quality printing. -- Anders Thulin INET : ath@prosys.se ProgramSystem AB UUCP : ...!{uunet,mcvax}!enea!prosys!ath Teknikringen 2A PHONE: +46 (0)13 21 40 40 S-583 30 Linkoping, Sweden FAX : +46 (0)13 21 36 35
rowland@hpavla.HP.COM (Fred Rowland) (03/13/89)
OK, Mike Trout, you believe that vi, troff, nroff and their kin are obsolete. I'm inclined to agree with you, except for vi. But please enlighten us: What should we be using? What meets with your approval? What measures up to the 80's? What do we do next year when the 80's become obsolete? What will those in the know be using in the 90's? What was the point of your note? Fred Rowland
gregg@ihlpb.ATT.COM (Wonderly) (03/13/89)
From article <9059@claris.com>, by krazy@claris.com (Jeff Erickson): > > That's on of the main advantages (I think) of emacs: I can customize it > to my heart's delight. I can make any key do anything. If I don't like > something, I can change it to something I do like. I don't know how many > times I've wanted to do that with other text editors/word processors!! > > Having been spoiled by emacs, I really dislike vi. And what happens when you sit down to help somebody with something and they don't have *macs set up the way you do? Can you shift gears and learn their brand of mappings in short order? If so, you could probably learn vi or the standard mappings for *macs as well instead of working yourself into a state of dependence on something that is so incompatible with other environments. Seriously, I thought it was common knowledge that right or wrong standard ways and methods yield common knowledge and higher productivity! That is precisely why you won't see me using zillions of aliases and shell scripts. I have a few, but just enough to get by, like alias ls="ls -CF". If a tool doesn't do the right thing to begin with, I find it hard to believe that the tool is worthy of being called a tool! The 'right thing' is hard to define, but certainly the fact that so many people change and add mappings to *macs says something! -- Gregg Wonderly DOMAIN: gregg@ihlpb.att.com AT&T Bell Laboratories UUCP: att!ihlpb!gregg
loo@mister-curious.sw.mcc.com (Joel Loo) (03/14/89)
In article <252@torch.UUCP>, richard@torch.UUCP (Richard Nuttall) writes: > > ABSOLUTELY!!!! > I HATE vi. > > I have only had to use vi in the last couple of months, before that > I have used decent custmisable editors (WYSIWYG) such as > > VAX TPU (a highly customised version of EVE) > APOLLO dm editor > MICROSOFT C5.1 M editor I hope this is not an editor war but honest discussion of pros and cons of various editors. I have used over a dozen of text editors/word processors. My comments might be useful to some: (take note that I came to use vi only recently, it is my LAST and NOT the first editor.) I am a vi convert (in every sense of the word) after using ZMACS (a more powerful extended version of Emacs) on a certain Lisp machine for over a year and almost 8 hours a day everyday. Before that I used the EDT editor on the Vax for three years and TPU for a while after VMS 4.2 was released (yes I am aware of the programmability of TPU.) I had also use for short periods the VED editor (POPLOG editor, highly programmable too), TRS-80 editor (can't recall the name), TECO, RED (on DEC Rainbow), Xedit (IBM mainframe), Apple ][ editor, Sidekick editor, Smalltalk... [Comment: Programmability is a nice concept but don't stretch it too far. I had the experience of spending more time programming an editor than on my work. One complaint about vi is that it has modes. My view is that modeless editors are nice for beginners, but an old-hand doesn't even realize vi has modes; modes become natural to him. Use of the mouse is, again, nice for beginners, but I find it a pain when I was forced to use it in Smalltalk and Macintosh; I just could not do cutting and pasting as fast as in vi (nothing to do with my agility, it is inherent with mice, a lot of hackers will agree with me).] I had use a few text formatters/word processors too. WYSIWYG: Wordstar, MS word, WordPerfect, PageMaker, FrameMaker. Non- WYSIWYG and non-interactive ones: TeX and Runoff (DEC). [Comment: There are advantages for using WYSIWYG text formatters. There are also disadvantages: they are USUALLY slow and not as flexible as TeX or xxxOff; fully WYSIWYG software encourages time wasting since users do a lot of fine adjustments; most 'WYSIWYG software are not fully WYSIWYG and thus a lot of printing prob- lems ...] Finally, vi is efficient in a lot of operations, especially those that we do 80% of the time during an editing session. There are a lot of useful commands predefined so that one does not have to waste time writing his own macros. Contrary to popular beliefs, vi is programmable (though not as easy and complete), I have written some useful vi macros such as cutting and pasting, alter- nate buffers, etc. (If you are interested I will post it after I tidy them up.) Vi has also a good interface to the Unix shell. (For you info, this message is done entirely in vi, using nroff for justification and spell for spelling check.) Vi is extremely popular in Unix systems, every Unix machine has one. I had at one time or another transferred my vi macros file to Apollo, IBM RT PC, Sun, and it works identically. I could start work on a new Unix machine in no time. I even got hold of a vi on IBM PC so that I do not have to use the SideKick editor (and mind you, that was my PC editor for over three years) that was becoming painful when I have to toggle between PC and Unix. Agree that vi need to be improved. There are certain features that should be included (maybe someone can look into this). My advice is: spend more time reading the vi reference manual. Do not be discouraged from using it just because vi has cryptic com- mands. It serves most programming needs just too well. -------------------------------------------------------------------- Joel Loo Peing Ling composed on Mon Mar 13 10:32:46 CST 1989 -------------------------------------------------------------------- MCC | Email: loo@sw.mcc.com 3500 West Balcones Centre Dr. | Voice: (512)338-3680 (O) Austin, TX 78759 | (512)343-1780 (H)
majka@moose.cs.ubc.ca (Marc Majka) (03/14/89)
gaynor@athos.rutgers.edu (Silver) writes: > [...] For the real long lines, the eye has trouble spotting > the beginning of the next line. [...] > Comments? Additions? How about for the virtual long lines? My eye has a lot of trouble spotting them. Seriously, poor grammer and spelling errors make text very (or should I say "real" :-) difficult to read. The mind stumbles over the garbage. --- Marc Majka
jik@athena.mit.edu (Jonathan I. Kamens) (03/14/89)
In article <9844@ihlpb.ATT.COM> gregg@ihlpb.ATT.COM (Wonderly) writes: >And what happens when you sit down to help somebody with something and they >don't have *macs set up the way you do? Can you shift gears and learn their >brand of mappings in short order? The odds are that if I sit down to help somebody, I'm not going to be doing something so complex that I'm going to run head-on into their emacs bindings. In fact, the odds are that if I'm sitting down to help someone, they don't know enough to have added any major customizations to emacs :-) The fact of that matter is that while many people add custom hacks to their own personal .emacs file, I've never known anyone to decide that ^n and ^p should no longer move up and down a line, or that ^x ^s should no longer save a file. If somebody has hacked their emacs so much that I can't move around it, then they're probably beyond help :-) > If so, you could probably learn vi or >the standard mappings for *macs as well instead of working yourself into a >state of dependence on something that is so incompatible with other >environments. I don't "depend" on the changes I've made to emacs. I like them and they make my work easier, but when my fileserver is down and I have to login without all of my elisp hacks, I can get by quite well, thank you, with mimimal (if any) adjustment. As I said, most people's addition to the standard emacs are *enhancements*, not outright modifications of the emacs command structure. > Seriously, I thought it was common knowledge that right >or wrong standard ways and methods yield common knowledge and higher >productivity! It is only necessary to insure a basic level of common knowledge -- how to move the cursor around, how to save or load a file, how to search for a string or replace it. Once again, as I said above, most people who use emacs don't change these things, and if they do, you can always start up an emacs -q or jove and work with that if you need to help them. > That is precisely why you won't see me using zillions of >aliases and shell scripts. I have a few, but just enough to get by, like >alias ls="ls -CF". If a tool doesn't do the right thing to begin with, >I find it hard to believe that the tool is worthy of being called a tool! I tend to make sure that I know the default behavior and any customized behavior I've constructed for any program that I use. If I am going to help someone else and I suspect that they've made modifications that will conflict with mine, a quick "/bin/csh -f" will put me into a shell with no customizations; if I want, I can even source the .cshrc out of my account and get my environment, or I can work with the defaults, since I know what they are. >The 'right thing' is hard to define, but certainly the fact that so many >people change and add mappings to *macs says something! You seem to think that customizations are an abnormality and something that should be avoided. Modifications to the accepted standards are sometimes a problem, but enhancements are not; if you can't learn to step around somebody's enhancements the few times that you have to, it seems to me that you're just asking to be restricted to only one type of editor -- yours, the way you like it. Jonathan Kamens USnail: MIT Project Athena 410 Memorial Drive, No. 223F jik@Athena.MIT.EDU Cambridge, MA 02139-4318 Office: 617-253-4261 Home: 617-225-8218
barmar@think.COM (Barry Margolin) (03/14/89)
In article <9801@bloom-beacon.MIT.EDU> jik@athena.mit.edu (Jonathan I. Kamens) writes: >The odds are that if I sit down to help somebody, I'm not going to be >doing something so complex that I'm going to run head-on into their >emacs bindings. In fact, the odds are that if I'm sitting down to >help someone, they don't know enough to have added any major >customizations to emacs :-) I used to have a coworker who I helped out quite a bit (often helping him debug his Emacs extensions). He had a whole bunch of extensions to bind the function keys on his Honeywell terminal to common operations. Unfortunately, the escape sequences sent by the function keys conflicted with many standard Emacs key bindings, such as esc-B. This is the only time I've ever had trouble sitting down at someone else's terminal. I think this is more the exception than the rule (even if lots of people bind function keys, most terminals' function keys send multi-character sequences beginning with a common escape sequence so not too many Emacs key bindings are affected). Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar
lbr@holos0.UUCP (Len Reed) (03/14/89)
In article <7324@boulder.Colorado.EDU> walkerb@tramp.Colorado.EDU (Brian Walker) writes: >Actually, for all of it's clunks and clatters, vi is livable.... >And, you can learn to hit the dreaded [esc] key. I use vi, simply because it is already installed on every Unix or Xenix machine I sit down at, and I can put in on MS-DOS machines (which I sometimes have to deal with). I'm a consultant and spend time on my machines and on various customers machines. The dreaded Escape key is a problem because it's in a different place on every machine. But there's a real easy work-around for that: the '[' is almost always to the right of the 'P', and control-[ is an Ascii escape. I also touch type ^H for backspace and ^I for tab, since those keys wander all over, too. I know a tiny subset of Brief because it's the editor one of my customers is using on his PCs, and it has the utterly brain-damaged "feature" of not liking touch-typed ^H, ^[, etc.; apparantly it cares about the "scan codes." I just seeth when I see a circle when I type ^H. Yeah, I know that Brief's macro capabilities could get me around this, but the only reason I'm using it is because I'm sitting at someone else's PC, so *my* macros wouldn't be there, anyway. Now, does anyone have a solution to idiot keyboard makers that put the caps lock key where the Ctrl key should be? -- - Len Reed
dig@peritek.UUCP (Dave Gotwisner) (03/14/89)
In article <5552@brspyr1.BRS.Com>, miket@brspyr1.BRS.Com (Mike Trout) writes: > In article <9653@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes: > > > [stuff deleted] > > Well, that's true; everybody has a right to their own opinions and tastes, BUT: > > You can use vi all you want, and it may work just fine for you. Fine; that's > your business. But you should be aware that while you are putt-putting along > in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. > You may be very comfortable with the Pup, but the real world has left you > behind. The Pup may serve you very well the rest of your days, but God help > you if you ever find yourself in serious financial competition with somebody > who uses up-to-date text editors. Fine, I will. One thing VI has that NO (I repeat NO) other editor has that I have used has is a way to help me fix my typos when my dyslexia pops up. Yes, I can do it in other editors with macros, but why, when xp works so well. For the bulk of what I do (writing programs, not documentation), an editor works a lot better for me than a word processor. I have used both. Corporate requirements require that our documentation be done with a specific word processor, and I have no complaints for that, word processors are for word processing, food processors are for food processing, and editors are for editing what is already written (which is a lot of what debugging is). Also, are you saying that you are more facile with a word processor that has the newest and greatest features, and hides the guts from the user than I am (who has been using the VI editing language (emphasis added) for 12 or so years)? On a fair day of programming, I can write and enter 500 - 600 lines of code. On a great day (the rare exception, when I have no customer calls and no flaming to do ;-) ) I have topped out at about 1200 lines. This includes getting the stuff to compile and 8 hour days. Would another word processor speed that up much? I doubt it. Oh, your complaint is that it is old.... Well, English has been around for how many hundreds of years? I guess it is time to invent a new/better language! VI, like the English language, have grown over the years, because there are features that are useful that people have seen have been omitted (I remember when macros were first added, for instance). Also, as far as put-putting in old technology... I used to know someone who drove a Shelby Cobra (60's technology, for sure). I bet you it could still probably blow the doors off of whatever new cars most of netdome drives. > > In the 1970s, vi was the greatest thing since hot fudge sundaes. But check > your calendars. The world moves on, and "it should stay that way" is an > attitude that blows away with the wind every decade or so. I'm sure that this > was the same argument used when transistors began to replace vacuum tubes: > "I like tubes, I'm comfortable with them, and I'm going to continue to use > them. It should stay that way." Guess what happened to all those vacuum tube > freaks? Again, the VI of the 70's is not the VI of today. The original VI fit in 64KB of memory (code+data), could it today? Could your word processor? If an editor or word processor came around today that took no time, whatsoever to learn, and was better than the editors I have on my machines, and was free, I would definitely use it, but since none I know of fits into this catagory, I will happily stick with VI. -- ------------------------------------------------------------------------------ Dave Gotwisner UUCP: ...!unisoft!peritek!dig Peritek Corporation ...!vsi1!peritek!dig 5550 Redwood Road Oakland, CA 94619 Phone: 1-415-531-6500
jw@pan.UUCP (Jamie Watson) (03/14/89)
Ideas about what constitutes a WYSIWYG editor aside, the "sam" editor runs under X, and does everything that you mentioned in your posting. Including position in a file with the mouse, cut/paste/copy text with the mouse, resize windows (editor windows *and* the enclosing X window). It can also have multiple files in multiple windows, multiple windows on a single file (all of which are kept current), and for complex edit tasks it has a truly wonderful command language. For trivial or simple edit tasks, the command language can be ignored, and all work done with the mouse/keyboard. We are currently using it on Vaxstation 2000 and IBM RT/PC, both with X.V11R3. It also comes with front ends for Suntools, and downloadable front ends for blit and 630 terminals. It is available from the AT&T Unix Toolchest (AT&T Unix Europe Ltd.), and costs $100 for a site source license. jw
trb@stag.UUCP ( Todd Burkey ) (03/14/89)
In article <2112@mister-curious.sw.mcc.com> loo@mister-curious.sw.mcc.com (Joel Loo) writes: > >[Comment: Programmability is a nice concept but don't stretch it >too far. I had the experience of spending more time programming >an editor than on my work. One complaint about vi is that it has >modes. My view is that modeless editors are nice for beginners, >but an old-hand doesn't even realize vi has modes; modes become >natural to him. Use of the mouse is, again, nice for beginners, >but I find it a pain when I was forced to use it in Smalltalk and >Macintosh; I just could not do cutting and pasting as fast as in >vi (nothing to do with my agility, it is inherent with mice, a >lot of hackers will agree with me).] I guess I qualify as a hacker and I do agree...up to a point. I use vi, emacs (occasionally), micro-emacs, and Apollo DM edit in my normal programming environment and I have used the Vax editors, various PC and Atari ST editors, and lots of line editors in the past. In the early days of Emacs, I was a 'macro' fanatic, even putting up with the incredibly slow operation of emacs on my IBM PC just to have the same macros running there. About 5 years ago, I found myself in an environment that only had vi and I managed to become a vi addict with very little kicking and screaming (maybe a years worth). I agree that vi is better at single buffer cut and paste than emacs. Vi doesn't have more capability in this area, it is just easier and faster to do cutting and pasting than in emacs (yes, even than in the various emacs vi emulation modes.) Unfortunately, vi doesn't handle multiple buffers in a very usable way (almost as if multiple buffers were an afterthought during the development of vi). I also feel that the phrase "mice are nice, but my finger doesn't linger" is appropriate for most editor operations...except some inter-buffer operations on high resolution, multiple window displays. >Agree that vi need to be improved. There are certain features >that should be included (maybe someone can look into this). My >advice is: spend more time reading the vi reference manual. Do >not be discouraged from using it just because vi has cryptic com- >mands. It serves most programming needs just too well. For years I have waited for a better programming editor. I have seen faster editors on the various PCs, some very well integrated editors coming out with the C and OCCAM development packages on the Atari ST, but nothing that really integrates the programmer into his development environment in Unix. My idea of an ideal editor is one that 1) allows multi-file editing with a clean and fast buffering scheme, 2) fully supports folding, 3) allows the programmer to relate lines and words and use these relationships in a hyper-text like manner (i.e. moving back and forth between a program document and the appropriate lines of code at the press of a few keys), 4) has configurations save and restore modes (so you can get back to EXACTLY the same place you left off editing the day before...with all buffer info intact), and 5) has more intelligence built in (rather than interpreted in macros. What a coincidence :-). Last November I started writing an editor in my spare time, just to see how hard it would be to add a thought processor-like folding concept to an editor. I wrote this editor from scratch, partly to learn why editors act the way they do the hard way, and partly because I had a feeling that the vi or emacs styles would restrict or dictate the implementation of folding. This editor is now in alpha test and will be distributed to the net if it is still bug-free a month from now. The editor does have everything that is currently on my wishlist (see above), but I still regard it as more of a prototype. There are a lot of snazzy features that I would like to add (or see added) to the editor to turn it into a real CASE tool, but my editor will likely need some heavy optimization and maybe even a core logic rewrite first. How do other programmers/hackers out there feel about the need for higher level programming editors/tools? Are you completely happy with your current editor, so things like folding and inter-file relationships aren't really of any foreseeable use? Is moded vs. non-moded really the issue between editors, or is it non-programmable vs. programmable, or does it simply boil down to the actual options and commands you have available in an editor? -Todd Burkey trb@stag.UUCP or ... tburkey@eta.com
tale@pawl.rpi.edu (David C Lawrence) (03/15/89)
In article <561@peritek.UUCP> dig@peritek.UUCP (Dave Gotwisner) writes:
DG> [...] One thing VI has that NO (I repeat NO) other editor has that
DG> I have used has is a way to help me fix my typos when my dyslexia pops up.
DG> Yes, I can do it in other editors with macros, but why, when xp works so
DG> well. [...]
You would think that someone that took the time to double emphasize a
statement would know what he wastalking about. Sorry, but both GNU
and Prime Emacs, and probably most other flavours (but not MicroGNU,
last I checked) have C-t to transpose-chars and M-t to transpose-words.
And, has been pointed out before, you can have vi inside of GNU Emacs
and still have the rest of the Emacs environment available to you.
I've been watching this discussion for a couple of days now without
jumping in with support for my favourite editor. That's mostly
because I think it is important for someone to be happy with an editor
and not everyone likes the same things. But please stopping making
comments that just aren't accurate.
--
tale@rpitsmts.bitnet, tale%mts@rpitsgw.rpi.edu, tale@pawl.rpi.edu
brunjes@isctsse.UUCP (Roy Brunjes) (03/15/89)
In article <2112@mister-curious.sw.mcc.com> loo@mister-curious.sw.mcc.com (Joel Loo) writes: >I am a vi convert (in every sense of the word) after using ZMACS >(a more powerful extended version of Emacs) on a certain Lisp >machine for over a year and almost 8 hours a day everyday. > > [ ... ] > >Agree that vi need to be improved. There are certain features >that should be included (maybe someone can look into this). My >advice is: spend more time reading the vi reference manual. Do >not be discouraged from using it just because vi has cryptic com- >mands. It serves most programming needs just too well. > Just one comment to make here: A Sun techie doing some consulting with me pointed out that even Bill Joy (creator of vi) doesn't use Vi anymore. He uses GNU Emacs. As a GNU Emacs user, I admit that the LISP-like syntax used to "program" Emacs is non-intuitive to a non-LISP programmer like myself, but I have to do precious little of that anyway (4 lines in my .emacs file). I have had to live with Vi because it *IS* on almost any UNIX system I go to, but that doesn't mean that I have to like it! Roy Brunjes ...rochester!kodak!kadsma!brunjes Disclaimer: These opinions are my own. My employer doesn't even know I have opinions about such things and consequently couldn't begin to endorse them.
loo@mister-curious.sw.mcc.com (Joel Loo) (03/15/89)
Here are some vi macros. They are very general and are good for beginners. Unpack them as normal archive. Comments and suggestions are welcomed. - Joel Loo #! /bin/sh # This is a shell archive. Remove anything before this line, # then unpack it by saving it in a file and typing "sh file". # # Wrapped by mister-curious.sw.mcc.com!loo on Tue Mar 14 11:05:23 CST 1989 # Contents: README jl.ex jl.ex.ref echo x - README sed 's/^@//' > "README" <<'@//E*O*F README//' These are some example vi macros. The simplicity and usefulness of these examples make them good examples for vi beginners. I hope these macros would make life worth living once more for lots of vi beginners. You can either include the "jl.ex" file into your vi init file ".exrc" or use the vi command ":source jl.ex" to load them during your vi session. Comment and suggestions are welcomed. - Joel Loo Peing Ling, Mar 14, 89 @//E*O*F README// chmod u=rw,g=r,o=r README echo x - jl.ex sed 's/^@//' > "jl.ex" <<'@//E*O*F jl.ex//' "Some vi macros "Joel Loo, Feb 15 1989 map V :s$/\* \(.*\) \*/$\1$ map v :s$.*$/* & */$ map W mt`m"dy`t map mt`m"dd`t map Y "dPmm map K :'m,.s/.*/# &/ map :'m,.s/# \(.*\)/\1/ map :e# abbr cmt /* */hhi abbr dcm /* abbr ilv I love vi map ip oprintf(" >\n");4hi @//E*O*F jl.ex// chmod u=rw,g=r,o=r jl.ex echo x - jl.ex.ref sed 's/^@//' > "jl.ex.ref" <<'@//E*O*F jl.ex.ref//' //////////////////////////////////////////////////////////////////////// / EXAMPLES VI MACROS REF. (by loo@mcc.com) / //////////////////////////////////////////////////////////////////////// //////////////////// / cut-paste macros / //////////////////// [The command "mm" marks the starting line of a cut/copy. After proper marking, move the cursor to the ending line of your cut/copy. Use either "^W" or "W" to get the text cut/copied. The command "Y" yanks the cut/ copied text at the cursor position. These commands work across files, unlike the "*y" and "p"/"P" commands.] Command | Meaning ----------------------------------------------------------------------- mm | Mark the beginning of region W | Copy (to scratch) from marked line to current line ^W | Cut (to scratch) from marked line to current line Y | Yank (or paste) from scratch area ////////////// / commenting / ////////////// v | 'C'-comment the current line V | 'C'-uncomment the current line K | Comment with '#' from marked line (good for sh etc.) ^K | Uncomment lines of '#' from mark line (") ///////////////// / Miscellaneous / ///////////////// ^O | Edit the alternate file ///////////////// / abbreviations / ///////////////// [Abbreviation capability is part of vi. The user can define as many as he likes with the ex-command "abbr". Abbreviation works when the exact sequence of chars is typed in the insert mode.] [Important: Need to be in insert mode] Abbreviation | Expansion ------------------------------------------------------------------------------- ilv | "I love vi" cmt | "/* */" and ready for inserting comment text dcm | similar to cmt but for C-function documentation /////////////////// / Escape Commands / /////////////////// [Escape commands capability is not documented but only implied by vi reference. This function might not be in some vi implementations. Using these commands requires fast fingering; you have to press <esc> and following by the rest of a command in quick succession.] Command | Meangin ------------------------------------------------------------------------------- <esc>ip | Insert 'printf(" >\n");' and ready for inserting print text [Escape commands capability comes in handy when all control and function keys of your keyboard are defined. You can define almost unlimited escape commands.] @//E*O*F jl.ex.ref// chmod u=rw,g=r,o=r jl.ex.ref echo x - jl.ex.shar sed 's/^@//' > "jl.ex.shar" <<'@//E*O*F jl.ex.shar//' # This is a shell archive. Remove anything before this line, # then unpack it by saving it in a file and typing "sh file". # # Wrapped by mister-curious.sw.mcc.com!loo on Tue Mar 14 11:05:23 CST 1989 # Contents: README jl.ex jl.ex.ref jl.ex.shar echo x - README sed 's/^@//' > "README" <<'@//E*O*F README//' These are some example vi macros. The simplicity and usefulness of these examples make them good examples for vi beginners. I hope these macros would make life worth living once more for lots of vi beginners. You can either include the "jl.ex" file into your vi init file ".exrc" or use the vi command ":source jl.ex" to load them during your vi session. Comment and suggestions are welcomed. - Joel Loo Peing Ling, Mar 14, 89 @@//E*O*F README// chmod u=rw,g=r,o=r README echo x - jl.ex sed 's/^@//' > "jl.ex" <<'@//E*O*F jl.ex//' "Some vi macros "Joel Loo, Feb 15 1989 map V :s$/\* \(.*\) \*/$\1$ map v :s$.*$/* & */$ map W mt`m"dy`t map mt`m"dd`t map Y "dPmm map K :'m,.s/.*/# &/ map :'m,.s/# \(.*\)/\1/ map :e# abbr cmt /* */hhi abbr dcm /* abbr ilv I love vi map ip oprintf(" >\n");4hi @@//E*O*F jl.ex// chmod u=rw,g=r,o=r jl.ex echo x - jl.ex.ref sed 's/^@//' > "jl.ex.ref" <<'@//E*O*F jl.ex.ref//' //////////////////////////////////////////////////////////////////////// / EXAMPLES VI MACROS REF. (by loo@mcc.com) / //////////////////////////////////////////////////////////////////////// //////////////////// / cut-paste macros / //////////////////// [The command "mm" marks the starting line of a cut/copy. After proper marking, move the cursor to the ending line of your cut/copy. Use either "^W" or "W" to get the text cut/copied. The command "Y" yanks the cut/ copied text at the cursor position. These commands work across files, unlike the "*y" and "p"/"P" commands.] Command | Meaning ----------------------------------------------------------------------- mm | Mark the beginning of region W | Copy (to scratch) from marked line to current line ^W | Cut (to scratch) from marked line to current line Y | Yank (or paste) from scratch area ////////////// / commenting / ////////////// v | 'C'-comment the current line V | 'C'-uncomment the current line K | Comment with '#' from marked line (good for sh etc.) ^K | Uncomment lines of '#' from mark line (") ///////////////// / Miscellaneous / ///////////////// ^O | Edit the alternate file ///////////////// / abbreviations / ///////////////// [Abbreviation capability is part of vi. The user can define as many as he likes with the ex-command "abbr". Abbreviation works when the exact sequence of chars is typed in the insert mode.] [Important: Need to be in insert mode] Abbreviation | Expansion ------------------------------------------------------------------------------- ilv | "I love vi" cmt | "/* */" and ready for inserting comment text dcm | similar to cmt but for C-function documentation /////////////////// / Escape Commands / /////////////////// [Escape commands capability is not documented but only implied by vi reference. This function might not be in some vi implementations. Using these commands requires fast fingering; you have to press <esc> and following by the rest of a command in quick succession.] Command | Meangin ------------------------------------------------------------------------------- <esc>ip | Insert 'printf(" >\n");' and ready for inserting print text [Escape commands capability comes in handy when all control and function keys of your keyboard are defined. You can define almost unlimited escape commands.] @@//E*O*F jl.ex.ref// chmod u=rw,g=r,o=r jl.ex.ref
aad@stpstn.UUCP (Anthony A. Datri) (03/15/89)
>> I have only had to use vi in the last couple of months, before that >> I have used decent custmisable editors (WYSIWYG) such as >> APOLLO dm editor COUGH CHOKE RETCH PUKE VOMIT You're joking, right? Apollo's editor doesn't even know what tabs are. -- @disclaimer(Any concepts or opinions above are entirely mine, not those of my employer, my GIGI, my VT05, or my 11/34) beak is@>beak is not Anthony A. Datri @SysAdmin(Stepstone Corporation) aad@stepstone.com stpstn!aad
gillies@p.cs.uiuc.edu (03/15/89)
Which editor is best? Whichever you've learned. I learned xed, MIT emacs, Gosling's emacs, vi, then gnuemacs. Each time I get a new emacs, I make it emulate the features I'm accustomed to in the old emacs. This way, I can take advantage of any emacs without having to learn an entirely new editor. You can argue about the things you enjoy most in your editor -- I like incremental search in emacs (easily added to vi) -- most emacs's are programmed to NEVER complain about huge files, huge lines, etc. Some other editors are not as robust. -- I like using ESC-J to justify my paragraphs. Someday I'm going to modify it to avoid justifying troff macros. -- I use 2 windows all the time in emacs. -- I occasionally run a shell in a window to record a session -- Emacs commands seem to operate on "words" more than on characters, as in vi. Most of my documents are strings of words, and even sentences sometimes. I understand that many vi documents are just strings of characters 8-). The things I like about VI are -- I used to appreciate its incredible speed. It can maintain the screen while using VERY FEW cpu cycles. Unfortunately, this "feature" is rapidly becoming obsolete, with cray-1's on a chip being introduced every day. -- It's not a memory pig like emacs. -- It's upward compatible with ed and xed, two editors I used to use. When the ed/xed users die, this will not be an advantage -- it is distributed free with most unix systems. You can't beat this convenience. -- It is more faithful to the UNIX user-interface (*snicker*). vi would be a poor-man's editor on a non-unix system. emacs has much more capability "built in".
steinar@fdmetd.uucp (Steinar Overbeck Cook) (03/15/89)
In article <2112@mister-curious.sw.mcc.com>, loo@mister-curious.sw.mcc.com (Joel Loo) writes: > In article <252@torch.UUCP>, richard@torch.UUCP (Richard Nuttall) writes: > > > > ABSOLUTELY!!!! > > I HATE vi. > [ Lots of text deleted ...] I agree on almost everything that Richard Nuttall wrote. Personally I have been using NewWord, Wordstar, RED, ISPF (IBM), XEDIT, Brief and so on... When I think of it, it is two things I would like to see in 'vi'. Coloumn cut-and-paste (with the marked block in standout or inverse video) and the ability to edit more than two files simultaneously. -- Steinar Overbeck Cook, Fellesdata a.s, P.O. Box 248, 0212 OSLO 2, NORWAY Phone : +47 2 52 80 80 Fax : +47 2 52 85 10 E-mail : ...!mcvax!ndosl!fdmetd!steinar or steinar@fdmetd.uucp <The opinions expressed, if any, do not represent Fellesdata a.s>
zavras@cleo.cs.wisc.edu (Alexios Zavras) (03/16/89)
In article <252@torch.UUCP> richard@torch.UUCP (Richard Nuttall) writes: >>From Ted Holden, HTE: [...] >>and just get rid of vi which, along with nroff and troff and a couple > >ABSOLUTELY!!!! >I HATE vi. > [...] >I have tried JOVE and am looking at CRISP, but what I really want >is one that, when running X, you can use the mouse to copy around >text, point to a place in the text, and resize windows dynamically >without blowing up the editor. I have heard that a GNU EMACS can do >at least some of this, and am trying to get the sources at the moment. [...] Eh ??? Excuse me, but vi can do all that (and a lot more, too :-). It surely understands window resizes (SIGWINCH) (but what "dynamically" means ?), you can go to any point by clicking the mouse (:set xmouse), and you can copy around text using the mouse as always in the X Window Environment... I'm sure GNU emacs can too all that, too, but I am not (yet) a "knowledgeable user", so I can't provide details... Therefore, I remain a vi-fanatic_lover, >Richard Nuttall | ukc!stc!datlog!torch!richard -- zvr - +-----------------------+ Alexios Zavras (-zvr-) | Life is once, forever | zavras@cs.wisc.edu +-----------------H C-B-+
loo@mister-curious.sw.mcc.com (Joel Loo) (03/16/89)
I received messages that say right-justified text is hard to read. I realized that before I was born. I was only showing off what I can do with vi: it can even call nroff to justify text. Anyway, someone said that he does not even want to read my article if it is so neatly formatted (me too, I could not read it after I nroffed it - gave me a headache). So, time to show off again. I reformatted it with 'fmt' (no cheating, within vi again) from the original right-justified article which was earlier nroffed from the unformatted article: --------- skip if you have read the --------- ------- right-justified version before ------ In article <252@torch.UUCP>, richard@torch.UUCP (Richard Nuttall) writes: > > ABSOLUTELY!!!! > I HATE vi. > > I have only had to use vi in the last couple of months, before that > I have used decent custmisable editors (WYSIWYG) such as > > VAX TPU (a highly customised version of EVE) > APOLLO dm editor > MICROSOFT C5.1 M editor I hope this is not an editor war but honest discussion of pros and cons of various editors. I have used over a dozen of text editors/word processors. My comments might be useful to some: (take note that I came to use vi only recently, it is my LAST and NOT the first editor.) I am a vi convert (in every sense of the word) after using ZMACS (a more powerful extended version of Emacs) on a certain Lisp machine for over a year and almost 8 hours a day everyday. Before that I used the EDT editor on the Vax for three years and TPU for a while after VMS 4.2 was released (yes I am aware of the programmability of TPU.) I had also use for short periods the VED editor (POPLOG editor, highly programmable too), TRS-80 editor (can't recall the name), TECO, RED (on DEC Rainbow), Xedit (IBM mainframe), Apple ][ editor, Sidekick editor, Smalltalk... [Comment: Programmability is a nice concept but don't stretch it too far. I had the experience of spending more time programming an editor than on my work. One complaint about vi is that it has modes. My view is that modeless editors are nice for beginners, but an old-hand doesn't even realize vi has modes; modes become natural to him. Use of the mouse is, again, nice for beginners, but I find it a pain when I was forced to use it in Smalltalk and Macintosh; I just could not do cutting and pasting as fast as in vi (nothing to do with my agility, it is inherent with mice, a lot of hackers will agree with me).] I had use a few text formatters/word processors too. WYSIWYG: Wordstar, MS word, WordPerfect, PageMaker, FrameMaker. Non-WYSIWYG and non-interactive ones: TeX and Runoff (DEC). [Comment: There are advantages for using WYSIWYG text formatters. There are also disadvantages: they are USUALLY slow and not as flexible as TeX or xxxOff; fully WYSIWYG software encourages time wasting since users do a lot of fine adjustments; most 'WYSIWYG software are not fully WYSIWYG and thus a lot of printing problems ...] Finally, vi is efficient in a lot of operations, especially those that we do 80% of the time during an editing session. There are a lot of useful commands predefined so that one does not have to waste time writing his own macros. Contrary to popular beliefs, vi is programmable (though not as easy and complete), I have written some useful vi macros such as cutting and pasting, alternate buffers, etc. (If you are interested I will post it after I tidy them up.) Vi has also a good interface to the Unix shell. (For you info, this message is done entirely in vi, using nroff for justification and spell for spelling check.) Vi is extremely popular in Unix systems, every Unix machine has one. I had at one time or another transferred my vi macros file to Apollo, IBM RT PC, Sun, and it works identically. I could start work on a new Unix machine in no time. I even got hold of a vi on IBM PC so that I do not have to use the SideKick editor (and mind you, that was my PC editor for over three years) that was becoming painful when I have to toggle between PC and Unix. Agree that vi need to be improved. There are certain features that should be included (maybe someone can look into this). My advice is: spend more time reading the vi reference manual. Do not be discouraged from using it just because vi has cryptic commands. It serves most programming needs just too well. -------------------------------------------------------------------- Joel Loo Peing Ling composed on Mon Mar 13 10:32:46 CST 1989 -------------------------------------------------------------------- MCC | Email: loo@sw.mcc.com 3500 West Balcones Centre Dr. | Voice: (512)338-3680 (O) Austin, TX 78759 | (512)343-1780 (H)
loo@mister-curious.sw.mcc.com (Joel Loo) (03/16/89)
Due to my ignorance with the fact that control characters can be eaten up across network, I have to do the posting of the example vi macros again. Here are some vi macros. They are very general and are good for beginners. Comments and suggestions are welcomed. - Joel Loo Instruction to retrieve: 1. cut along the cut line and save to a file 2. use 'uudecode file' giving file 'JL.shar' 3. use 'sh JL.shar' to unpack the sh archive Thanks for you patience. I hope this works. -------------------- cut here ------------------- begin 666 JL.shar M(R!4:&ES(&ES(&$@<VAE;&P@87)C:&EV92X@(%)E;6]V92!A;GET:&EN9R!B M969O<F4@=&AI<R!L:6YE+ HC('1H96X@=6YP86-K(&ET(&)Y('-A=FEN9R!I M="!I;B!A(&9I;&4@86YD('1Y<&EN9R B<V@@9FEL92(N"B,*(R!7<F%P<&5D M(&)Y(&UI<W1E<BUC=7)I;W5S+G-W+FUC8RYC;VTA;&]O(&]N(%=E9"!-87(@ M,34@,3$Z,3@Z,S,@0U-4(#$Y.#D*(R!#;VYT96YT<SH@(%)%041-12!J;"YE M>"!J;"YE>"YR968*( IE8VAO('@@+2!214%$344*<V5D("=S+UY +R\G(#X@ M(E)%041-12(@/#PG0"\O12I/*D8@4D5!1$U%+R\G"E1H97-E(&%R92!S;VUE M(&5X86UP;&4@=FD@;6%C<F]S+@I4:&4@<VEM<&QI8VET>2!A;F0@=7-E9G5L M;F5S<R!O9B!T:&5S92!E>&%M<&QE<R!M86ME"G1H96T@9V]O9"!E>&%M<&QE M<R!F;W(@=FD@8F5G:6YN97)S+B!)(&AO<&4@=&AE<V4*;6%C<F]S('=O=6QD M(&UA:V4@;&EF92!W;W)T:"!L:79I;F<@;VYC92!M;W)E(&9O<B!L;W1S"F]F M('9I(&)E9VEN;F5R<RX@"@I9;W4@8V%N(&5I=&AE<B!I;F-L=61E('1H92 B M:FPN97@B(&9I;&4@:6YT;R!Y;W5R( IV:2!I;FET(&9I;&4@(BYE>')C(B!O M<B!U<V4@=&AE('9I(&-O;6UA;F0@(CIS;W5R8V4@:FPN97@B"G1O(&QO860@ M=&AE;2!D=7)I;F<@>6]U<B!V:2!S97-S:6]N+@H*0V]M;65N="!A;F0@<W5G M9V5S=&EO;G,@87)E('=E;&-O;65D+@H*(" @(" @(" @(" @(" @(" @("T@ M2F]E;"!,;V\@4&5I;F<@3&EN9RP@36%R(#$T+" X.0I +R]%*D\J1B!214%$ M344O+PIC:&UO9"!U/7)W+&<]<BQO/7(@4D5!1$U%"B *96-H;R!X("T@:FPN M97@*<V5D("=S+UY +R\G(#X@(FIL+F5X(B \/"= +R]%*D\J1B!J;"YE>"\O M)PHB4V]M92!V:2!M86-R;W,*(DIO96P@3&]O+"!&96(@,34@,3DX.0IM87 @ M5B Z<R0O7"H@7"@N*EPI(%PJ+R1<,20-*PIM87 @=B Z<R0N*B0O*B F("HO M) TK"FUA<"!7(&UT8&TB9'E@= IM87 @%R!M=&!M(F1D8'0*;6%P(%D@(F10 M;6T*;6%P($L@.B=M+"YS+RXJ+R,@)B\-"FUA<" +(#HG;2PN<R\C(%PH+BI< M*2]<,2\-"FUA<" /(#IE(PT*86)B<B!C;70@+RH@*B\;:&AI"F%B8G(@9&-M M("\J#2 J( T@*B\;:T$*86)B<B!I;'8@22!L;W9E('9I"FUA<" ;:7 @;W!R M:6YT9B@B(" ^7&XB*3L;-&AI"D O+T4J3RI&(&IL+F5X+R\*8VAM;V0@=3UR M=RQG/7(L;SUR(&IL+F5X"B *96-H;R!X("T@:FPN97@N<F5F"G-E9" G<R]> M0"\O)R ^(")J;"YE>"YR968B(#P\)T O+T4J3RI&(&IL+F5X+G)E9B\O)PHO M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\*+R @(" @(" @(" @(" @(" @ M($5804U03$53(%9)($U!0U)/4R!2148N("AB>2!L;V] ;6-C+F-O;2D@(" @ M(" @(" @(" O"B\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PH*"B\O+R\O M+R\O+R\O+R\O+R\O+R\O"B\@8W5T+7!A<W1E(&UA8W)O<R O"B\O+R\O+R\O M+R\O+R\O+R\O+R\O"EM4:&4@8V]M;6%N9" B;6TB(&UA<FMS('1H92!S=&%R M=&EN9R!L:6YE(&]F(&$@8W5T+V-O<'DN($%F=&5R('!R;W!E<@IM87)K:6YG M+"!M;W9E('1H92!C=7)S;W(@=&\@=&AE(&5N9&EN9R!L:6YE(&]F('EO=7(@ M8W5T+V-O<'DN(%5S92!E:71H97(*(EY7(B!O<B B5R(@=&\@9V5T('1H92!T M97AT(&-U="]C;W!I960N(%1H92!C;VUM86YD(")9(B!Y86YK<R!T:&4@8W5T M+PIC;W!I960@=&5X="!A="!T:&4@8W5R<V]R('!O<VET:6]N+B!4:&5S92!C M;VUM86YD<R!W;W)K(&%C<F]S<R!F:6QE<RP*=6YL:6ME('1H92 B*GDB(&%N M9" B<"(O(E B(&-O;6UA;F1S+ET*"B!#;VUM86YD"7P@365A;FEN9PHM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0H@;6T)"7P@36%R:R!T:&4@8F5G:6YN M:6YG(&]F(')E9VEO;@H@5PD)?"!#;W!Y("AT;R!S8W)A=&-H*2!F<F]M(&UA M<FME9"!L:6YE('1O(&-U<G)E;G0@;&EN90H@7E<)"7P@0W5T("AT;R!S8W)A M=&-H*2!F<F]M(&UA<FME9"!L:6YE('1O(&-U<G)E;G0@;&EN90H@60D)?"!9 M86YK("AO<B!P87-T92D@9G)O;2!S8W)A=&-H(&%R96$*"B\O+R\O+R\O+R\O M+R\O"B\@8V]M;65N=&EN9R O"B\O+R\O+R\O+R\O+R\O"@H@=@D)?" G0R<M M8V]M;65N="!T:&4@8W5R<F5N="!L:6YE"B!6"0E\("=#)RUU;F-O;6UE;G0@ M=&AE(&-U<G)E;G0@;&EN90H@2PD)?"!#;VUM96YT('=I=&@@)R,G(&9R;VT@ M;6%R:V5D(&QI;F4@*&=O;V0@9F]R('-H(&5T8RXI"B!>2PD)?"!5;F-O;6UE M;G0@;&EN97,@;V8@)R,G(&9R;VT@;6%R:R!L:6YE("@B*2 *"B\O+R\O+R\O M+R\O+R\O+R\O"B\@36ES8V5L;&%N96]U<R O"B\O+R\O+R\O+R\O+R\O+R\O M"@H@7D\)"7P@161I="!T:&4@86QT97)N871E(&9I;&4*"B\O+R\O+R\O+R\O M+R\O+R\O"B\@86)B<F5V:6%T:6]N<R O"B\O+R\O+R\O+R\O+R\O+R\O"EM! M8F)R979I871I;VX@8V%P86)I;&ET>2!I<R!P87)T(&]F('9I+B!4:&4@=7-E M<B!C86X@9&5F:6YE(&%S(&UA;GD@87,*:&4@;&EK97,@=VET:"!T:&4@97@M M8V]M;6%N9" B86)B<B(N($%B8G)E=FEA=&EO;B!W;W)K<R!W:&5N('1H92!E M>&%C= IS97%U96YC92!O9B!C:&%R<R!I<R!T>7!E9"!I;B!T:&4@:6YS97)T M(&UO9&4N70H*6TEM<&]R=&%N=#H@3F5E9"!T;R!B92!I;B!I;G-E<G0@;6]D M95T*"B!!8F)R979I871I;VX)?"!%>'!A;G-I;VX*+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+0H@:6QV( D)?" B22!L;W9E('9I(@H@8VUT M( D)?" B+RH@*B\B(&%N9"!R96%D>2!F;W(@:6YS97)T:6YG(&-O;6UE;G0@ M=&5X= H@9&-M( D)?"!S:6UI;&%R('1O(&-M="!B=70@9F]R($,M9G5N8W1I M;VX@9&]C=6UE;G1A=&EO;@H*+R\O+R\O+R\O+R\O+R\O+R\O+PHO($5S8V%P M92!#;VUM86YD<R O"B\O+R\O+R\O+R\O+R\O+R\O+R\*6T5S8V%P92!C;VUM M86YD<R!C87!A8FEL:71Y(&ES(&YO="!D;V-U;65N=&5D(&)U="!O;FQY(&EM M<&QI960@8GD@=FD@<F5F97)E;F-E+@I4:&ES(&9U;F-T:6]N(&UI9VAT(&YO M="!B92!I;B!S;VUE('9I(&EM<&QE;65N=&%T:6]N<RX@57-I;F<@=&AE<V4@ M8V]M;6%N9',*<F5Q=6ER97,@9F%S="!F:6YG97)I;F<[('EO=2!H879E('1O M('!R97-S(#QE<V,^(&%N9"!F;VQL;W=I;F<@8GD@=&AE(')E<W0*;V8@82!C M;VUM86YD(&EN('%U:6-K('-U8V-E<W-I;VXN70H*($-O;6UA;F0@(" @(" @ M('P@365A;F=I;@HM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M"B \97-C/FEP"7P@26YS97)T("=P<FEN=&8H(B @/EQN(BD[)R!A;F0@<F5A M9'D@9F]R(&EN<V5R=&EN9R!P<FEN="!T97AT"@I;17-C87!E(&-O;6UA;F1S M(&-A<&%B:6QI='D@8V]M97,@:6X@:&%N9'D@=VAE;B!A;&P@8V]N=')O;"!A M;F0@9G5N8W1I;VX*:V5Y<R!O9B!Y;W5R(&ME>6)O87)D(&%R92!D969I;F5D M+B!9;W4@8V%N(&1E9FEN92!A;&UO<W0@=6YL:6UI=&5D(&5S8V%P90IC;VUM M86YD<RY="D O+T4J3RI&(&IL+F5X+G)E9B\O"F-H;6]D('4]<G<L9SUR+&\] 5<B!J;"YE>"YR968*( IE>&ET(# * end
gaynor@athos.rutgers.edu (Silver) (03/16/89)
> How do other programmers/hackers out there feel about the need for higher > level programming editors/tools? Absolutely essential. > Are you completely happy with your current editor, Yes, GNU Emacs. It's kind of funny that GNU Emacs provides a much better programming environment for its Lisp extension language than Unix does for its shells and utility languages (like awk and sed). > so things like folding and inter-file relationships aren't really of any > foreseeable use? `Folding', in your sense, is a way to arbitrarily selectively displaying portions of a buffer? It's in GNU, and is extremely useful. (GNUsers, note the function narrow-to-region and the variable selective-display.) > Is moded vs. non-moded really the issue between editors No, that's an issue between users and how they bind their keys, unless the editors in question do not provide arbitrary keysequence rebinding. (This is invariably present in programmable editors.) > or is it non-programmable vs. programmable Yes! > or does it simply boil down to the actual options and commands you have > available in an editor? Yes, which is why programmability is so important. When someone gets fed up with a missing or deficient feature, s/he can program it the way they want it and can make the code available to others. Regards, [Ag] gaynor@rutgers.edu
toma@tekgvs.LABS.TEK.COM (Tom Almy) (03/16/89)
I think most people like the first editor they used regularly -- if you started with vi, you won't like EMACS, and visa versa. Personally, nothing beats a keypunch for cut-and-paste editing. Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply (this article written using EMACS, because I don't have TECO anymore)
sawant@nunki.usc.edu (Abhay Sawant) (03/16/89)
In article <TALE.89Mar14114703@imagine.pawl.rpi.edu> tale@pawl.rpi.edu writes: > >I've been watching this discussion for a couple of days now without >jumping in with support for my favourite editor. That's mostly >because I think it is important for someone to be happy with an editor >and not everyone likes the same things. But please stopping making >comments that just aren't accurate. >-- > tale@rpitsmts.bitnet, tale%mts@rpitsgw.rpi.edu, tale@pawl.rpi.edu I think this leads up to my best reason why 'Unix needs a real text editor': it's just that editors are very much a question of personal taste; a small set of editors cannot possibly satisfy all users. I think this is a very strong aspect of the PC and the Mac vs. Unix: that if i want to use a text editor of any crazy flavour: whether small, fast, configurable, WYSIWYG, DTP, environment, etc, i can find one which suits my needs. In fact, i regularly move between WordStar, WordPerfect, the primitive editing within Ventura, SideKick, Turbo Pascal and Brief depending on exactly what i'm doing. I think being forced to use one of Emacs or vi is primitive (this is apart from my personal antipathy for both). -ajay
barnett@crdgw1.crd.ge.com (Bruce Barnett) (03/16/89)
In article <167@isctsse.UUCP>, brunjes@isctsse (Roy Brunjes) writes: >Just one comment to make here: A Sun techie doing some consulting with me >pointed out that even Bill Joy (creator of vi) doesn't use Vi anymore. He >uses GNU Emacs. Bill Joy also said that he regrets making vi modal. If he knew more about modeless editors like emacs, he would have hacked together a different beast. Let's face it, vi was done as a quick hack by a programmer who was frustrtated by using ed (ex?) and who had dozens of different terminals all over. But it does have several nice features for being a hack. Compared to other editors I was using at the time, it was quite powerful to one who mastered it. -- Bruce G. Barnett barnett@ge-crd.ARPA, barnett@steinmetz.ge.com uunet!steinmetz!barnett
trb@stag.UUCP ( Todd Burkey ) (03/17/89)
In article <Mar.15.13.17.00.1989.4476@athos.rutgers.edu> gaynor@athos.rutgers.edu (Silver) writes: > >`Folding', in your sense, is a way to arbitrarily selectively displaying >portions of a buffer? It's in GNU, and is extremely useful. (GNUsers, note >the function narrow-to-region and the variable selective-display.) > Unfortunately, folding in GNU, as you are referring to it, isn't much use (unless things have changed drastically in a newer version of GNU Emacs than I have). Folding really becomes useful when all the things you have folded are carried across between edit sessions and when all the 'commands' in the editor really 'understand' folding. For example, I normally keep all my comment blocks folded away, plus any sections of code that I am not currently working on. During block/line copies or moves, things that are folded will remain folded, even if they are moved to other buffers or even into the trashcan. If I fold a block of text or an indented region, I can insert several spaces in front of the resulting 'highlighted' text line, unfold the line and see the entire block shifted to the right by that number of spaces. With a single keypress, I can temporarily unfold everything to perform searches or global substitutions, and then refold everything with another single keypress. And there are many endcase things the editor ends up worrying about (going to marks/relations that are inside of folded text, keeping track of heirarchical folds, etc). At one time I looked at creating a 'map file' for GNU Emacs to use to control folding, but things got just too hairy. And since I didn't like the idea of embedding special characters inside of my source files to 'help out' the editor, I ended up writing FOLDED to see how useful true folding would be and what the ramifications folding had on editor operations. As a result of going through this 'exercise', I do feel that some major changes to the current two big editors (vi and Emacs) would be required to allow incorporation of true folding (and relational features for that matter). From a programming editor viewpoint (note that I said programming, not programmable), I tend to rank editors as follows: vi <-> assembly code...small, fast, concise, and confusing as hell unless you are a vi guru (I get by)...but it comes free with every system. emacs <-> basic...big, slow, but you can do a lot of reprogramming around the rich command set...note that this is interpreted tokenized basic, not compiled. pc-eds<-> forth...smaller, faster, and more application specific editors, some of which are heavily integrated into their respective C, Pascal, Occam, Assembly environments. These editors usually get written for the PC market (where the money is) and later get moved in some form back to Unix (either as a package or emulated under emacs). cased <-> C...a higher level (case) editor that allows truly compiled-in modules and integrates nicely into the environment. This editor would be both programmable and extensible (i.e you can not only program based on the current libc.a, but you can also develop your own low level routines if you need to). Unfortunately, I still haven't found such an editor. My folding editor probably falls back under the realm of the pc-eds, since it doesn't have a user-programming layer. Several people have sent me mail under the assumption that my editor is programmable, probably because I call it a programming editor. It is NOT programmable. My first goal in developing the editor was to put the features of various editors that I liked into the heart of the editor itself. At a later date, I may look into allowing C modules to be linked into the editor (i.e. compiled macros), but that will require some heavy duty restructuring and 'fool-proofing' of the editor itself...not to mention some heavy duty learning on my part. -Todd Burkey trb@stag.UUCP
loo@mister-curious.sw.mcc.com (Joel Loo) (03/17/89)
In article <743@stag.UUCP>, trb@stag.UUCP ( Todd Burkey ) writes: > > ... I was a 'macro' fanatic, even putting up with > the incredibly slow operation of emacs on my IBM PC just to have the > same macros running there. I was a macro fanatic and still am but I am also wiser now not to go for every 'nice' thing. Yes, I think vi is deficient in macro creation power. It does not have a proper macro language. You can't even have if-then-else (or am I wrong?). For the issue of extremely programmable editors, perhaps we can find an analogy in the language Forth. I was a Forth fanatic few years back because it claims to be "an assemble, compiler and even a compiler-compiler." It even "encourages the user to modify its syntax." Sound like a good idea? But this is also the same reason I abandoned Forth. Everybody can has his own Forth language (or languages) even if they started from the same Forth standard. I had difficulties maintaining the few applications and routines I developed because syntax varies. A way round this is to have _standards_ frozen along the course of history. Eg. Postscript and NeWS more or less are frozen Forth dialects/variants. Back to programmable editor. The success and popularity (among those who can behold its beauty) of vi might be because of its non-programmabilty. The philosophy might be stated as: vi provides the necessary features for daily programming chores; it encourages only short user macros so that all vi's behave in more or less the same way; if you want to do more than what you can with vi, look to other unix tools (sed, awk, or even lex and yacc) - vi has a hook to these tools. So, programmability of editors -- tough decision. > ... Unfortunately, vi doesn't handle > multiple buffers in a very usable way (almost as if multiple buffers > were an afterthought during the development of vi). Agree. Only two file buffers are available in vi. At a closer look they are not buffers at all, they are mere illusions. There are other buffers though, the text registers. The registers are, I suspect, hardly used by users, even experts. The reason: too many keystrokes are required to make use of them. I only use them in macros. vi should have better multi-buffering capability. > ... Last November I started writing an editor in my > spare time, just to see how hard it would be to add a thought > processor-like folding concept to an editor. Great! Hope to see you post your editor soon. > How do other programmers/hackers out there feel about the need for > higher level programming editors/tools? I am not too sure what you meant by "higer level". But if it is what I perceived, then, yes, there is a need. A feature like Emacs' "mark the next Sexp" is more civilized to than: "mark beginning, move, move, move ... mark ending". In vi: "ctK" (change to the char 'K') is more civilized than: "del, del, del ... (oops! overshot) undo, undo, (ahhh), type, type, type, type" The important auto-indentation feature (for C and Lisp) are lacking in vi. (Or is there a unix tool to do that?) Even higher level features (which I can't imagine at the moment) can be included. > ... Are you completely happy with > your current editor, so things like folding and inter-file > relationships aren't really of any foreseeable use? Happy, yes. But not _completely_. Folding and interfile relationships would be useful if they are elegant and not confusing. I said 'not confusing' because I have the bad experience of throwing out when I saw a imbecile context-sensitive editor for Pascal, they are for imbecile novice. It has remarkably poor implementation of folding and expansion which work at the moment and location which you least expect. > ... Is moded vs. > non-moded really the issue between editors, I like the moded nature of vi. Modes are good for expert users, allowing them to do things faster. The feeling I get from not having to type control keys to move around is really nice. I have grown out of using the arrow keys too. They are too far away to be reached and thus using them would slow down editing. Using 'hjkl' for movement is great, lots of unix games use the same movement keys too. So I am not sure modeless editors can beat vi in this respect. One last thing: do not force the user to use mouse. Give him the option of using the keyboard too. PS. Did someone mention vi emulation for Emacs? Where can I get it? :-) In fact I was about to write one for Zmacs but changed my mind because my Lisp machine project ended. -------------------------------------------------------------------- Joel Loo Peing Ling composed on Thu Mar 16 10:45:16 CST 1989 -------------------------------------------------------------------- MCC | Email: loo@sw.mcc.com 3500 West Balcones Centre Dr. | Voice: (512)338-3680 (O) Austin, TX 78759 | (512)343-1780 (H)
sawant@nunki.usc.edu (Abhay Sawant) (03/17/89)
In article <79700025@p.cs.uiuc.edu> gillies@p.cs.uiuc.edu writes: > >The things I like about VI are > > -- I used to appreciate its incredible speed. It can maintain > the screen while using VERY FEW cpu cycles. Unfortunately, > this "feature" is rapidly becoming obsolete, with cray-1's > on a chip being introduced every day. I'm sorry; i can't see *any* editor with Unix approaching the speed of writing on screen memory. Believe me, *most* Unix machines i've used so far have problems keeping up with me when writing-invoking editor commands at over 100 wpm. Whatever goes for vi; speed is not one of them.
gaynor@athos.rutgers.edu (Silver) (03/17/89)
> Unfortunately, folding in GNU, as you are referring to it, isn't much use > (unless things have changed drastically in a newer version of GNU Emacs than > I have). You'd be surprised... Unfortunately, (1) all the scanning through lines collapsed under selective-display is frighteningly inefficient, and (2) narrow-to-region, I feel, was improperly implemented. I think it should have been implemented like folds, thus called narrow-away-region, and maintain a tree of narrowings in the buffer. A little self-hype here, I voiced that little opinion in comp.emacs a couple of years ago, but got no responses. > Folding really becomes useful when all the things you have folded are carried > across between edit sessions and when all the 'commands' in the editor really > 'understand' folding. Agreed. Such would have been easily accomplished with my narrow-away-region, the `map-file' would be trivial to read and write. Sniff, sniff. > And since I didn't like the idea of embedding special characters inside of my > source files to 'help out' the editor True enough. I agree, working around the current implementation can be a bitch. > emacs <-> basic...big, slow, but you can do a lot of reprogramming > around the rich command set...note that this is > interpreted tokenized basic, not compiled. > ... > cased <-> C...a higher level (case) editor that allows truly compiled-in > modules and integrates nicely into the environment. This > editor would be both programmable and extensible (i.e you > can not only program based on the current libc.a, but you > can also develop your own low level routines if you need > to). Unfortunately, I still haven't found such an editor. Note that GNU Emacs is a cased editor of its own Lisp extension language. It's only drawback is that it does not compile to native machine code. Regards, [Ag] gaynor@rutgers.edu
caasnsr@nmtsun.nmt.edu (Clifford Adams) (03/18/89)
In article <5552@brspyr1.BRS.Com> miket@brspyr1.BRS.Com (Mike Trout) writes: >: You can use vi all you want, and it may work just fine for you. Fine; that's your business. But you should be aware that while you are putt-putting along in your Sopwith Pup, most of the rest of us have climbed into P-38 Lightnings. You may be very comfortable with the Pup, but the real world has left you behind. First of all, I'm a spoiled GNUmacs user. I like a lot of the features of the editor. But I have my limits. I have recently been working with a HP9000 series 300. Not the fastest machine around. Emacs (Unipress) takes over 60 seconds to load on that machine. I finally got fed up with it and learned the basics of VI. VI takes less than 5 seconds to load on that machine. I got the basics of VI in about 10 minutes, and was reasonably comfortable typing C code in about an hour. I still use Emacs for large/long typing jobs, but for short tasks, or debugging, VI is my choice. I know--I should work with a faster machine. For some reason they won't let me use the Cray for Emacs, however :-). [I'm testing the distribution of this message. If you are in the Mid or Southwestern US and see this message, please mail me a note. Thanks.] -- Clifford A. Adams --- "I understand only inasmuch as I become." caasnsr@nmt.edu ...cmcl2!lanl!unm-la!unmvax!nmtsun!caasnsr (505) 835-6104 | US Mail: Box 2439 Campus Station / Socorro, NM 87801
emoffatt@cognos.uucp (Eric Moffatt) (03/20/89)
In article <743@stag.UUCP> trb@stag.UUCP ( Todd Burkey ) writes: >In article <2112@mister-curious.sw.mcc.com> loo@mister-curious.sw.mcc.com (Joel Loo) writes: >> > >How do other programmers/hackers out there feel about the need for >higher level programming editors/tools? Are you completely happy with >your current editor, so things like folding and inter-file >relationships aren't really of any foreseeable use? Is moded vs. >non-moded really the issue between editors, or is it non-programmable >vs. programmable, or does it simply boil down to the actual options >and commands you have available in an editor? > > -Todd Burkey > trb@stag.UUCP > or ... tburkey@eta.com For my money moded vs. non-moded... is not really an issue. I have used VI, XEDIT, TECO, Apollo and about twenty other text editors over the years. I would LOVE to see some good LANGUAGE SPECIFIC editors !! A friend and I used to spend lunches discussing a C editor which worked on the parse tree and not "TEXT". It really seemed like a good idea, things like "copy IF statement (or FOR, WHILE...)" as well as "rename global var" etc. not to mention checking for proper syntax (on command, I hate it when my terminal BEEPS at me when I'm just power coding :-). Does anyone know of any such editors ?? Text is just the method we use to describe the things we want the machine to do. It's not neccessarily the best way, I would gladly use a "visual Programmer" (if I could find one !!). -- Eric (Pixel Pusher) Moffatt - Cognos Incorporated: 3755 Riverside Drive Voice: (613)738-1440 (Research) FAX: (613)738-0002 P.O. Box 9707 uucp: uunet!mitel!sce!cognos!emoffatt Ottawa, Ontario, arpa/internet: emoffatt%cognos.uucp@uunet.uu.net CANADA K1G 3Z4
jpdres10@usl-pc.usl.edu (Green Eric Lee) (03/21/89)
In article <2112@mister-curious.sw.mcc.com> loo@mister-curious.sw.mcc.com (Joel Loo) writes: >I hope this is not an editor war but honest discussion of pros >and cons of various editors. I have used over a dozen of text >editors/word processors. My comments might be useful to some: >(take note that I came to use vi only recently, it is my LAST and >NOT the first editor.) >natural to him. Use of the mouse is, again, nice for beginners, >but I find it a pain when I was forced to use it in Smalltalk and >Macintosh; I just could not do cutting and pasting as fast as in >vi (nothing to do with my agility, it is inherent with mice, a >lot of hackers will agree with me).] Mice will never replace the keyboard for operations such as, e.g., cut-and-paste. But mice have their place. Anti-mice people might b*tch and groan, but -- pointing at a point, then clicking the mouse button, is a much faster way of getting to that point than repeatedly hitting the cursor keys (for one thing, I always overshoot). And for someone who's not a regular user of a particular text editor, pull-down menus are a godsend. At least, if they're a supplement to keyboard commands, and not a replacement. Want to know what the command is for, say, "delete sentence"? Pull down the "Editing Operations" menu, select the "delete" item, select the "sentence" sub-item which has the "M-^D" keycode abbreviation to tell you how to do it without the menus next time... and it's all just one stroke of the mouse, without all the typing and searching needed for, say, the GNU Emacs help function. (slight note: I am an EXTREMELY fast typer... maybe some people may find themselves slowed by occasionally moving a mouse with their right hand, but I don't see how). >I had use a few text formatters/word processors too. WYSIWYG: >Wordstar, MS word, WordPerfect, PageMaker, FrameMaker. Non- >WYSIWYG and non-interactive ones: TeX and Runoff (DEC). WordPerfect is only slightly WYSIWYG. It mostly combines a normal text editor (somewhat stripped) with a text formatter (somewhat similar to nroff or runoff, with about the same power except when it comes to typesetting capabilities). I have used a true WYSIWYG text editor on a computer with a bit-mapped display, and found it so slow as to be almost unusable (upgrading from 68000 to 68020 might have helped, but who's going to buy a $1K add-on just to run a word processor???). >flexible as TeX or xxxOff; fully WYSIWYG software encourages time >wasting since users do a lot of fine adjustments; most 'WYSIWYG "time wasting"? You sound like the old folks who wouldn't allow people to "waste" computer time by editing on-line when they could do it for "free" by punching up cards before-hand! I haven't seen any studies as to whether WYSIWYG software improves or decreases productivity (and note that productivity can be measured by more than words per minute... if the output looks more polished and professional, that's a form of increased productivity too). >Finally, vi is efficient in a lot of operations, especially those >that we do 80% of the time during an editing session. There are a Perhaps... I really don't know, since I'm not a regular vi user (I use it to occasionally do a quick-and-dirty operation, else I use Emacs, which I learned years before I saw my first Unix machine). But I might note that VI doesn't do a couple of things which I count as necessary. You cannot edit multiple files onscreen at the same time (with the ability to freely move text between them), and you cannot have multiple windows into one file (e.g., one at the top into declarations, one at the bottom into the function you're currently writing). These are not trivial considerations. My current PC is an Amiga. I have been searching for a programming text editor for some time, and have never found one that satisfies me completely. The two considerations above (multiple windows, multiple files) are the most-missed features. The program I use most for "C" code, Matt Dillon's DME editor, does multiple windows (iconifiable to get them out of the way real quick) and is very "C"-friendly, which is why I prefer it over MG Emacs. Still, though, I find myself missing the ability to look at two parts of a file at the same time... especially since I run a 52-line screen, which lets me SEE my text, instead of the common 24-line portholes which get a bit frustrating at times. -- | // Eric Lee Green P.O. Box 92191, Lafayette, LA 70509 | | // {uunet!dalsqnt,killer}!usl!elg (318)989-9849 | | \X/ >> In Hell you need 4Mb to Multitask << |
gaynor@athos.rutgers.edu (Silver) (03/21/89)
dieter@jupiter.nmt.edu writes: > Overall, though, Emacs is not a WYSIWIG editor. Yes it is, noting that a _text_ editor displays and edits ascii characters. The buffer data and display interpretation are extremely simple: the character symbols of juxtaposed characters in the buffer are displayed juxtaposed in a window, except that any character following a newline is displayed on the next window line and newlines display similarly to a blank or nothing. (Let's assume a window is sufficiently wide to display the longest line, to avoid talking about wrap and such.) Now, if you want to talk about the display interpretation of a raw titty, other word/document processor, or printer, or something, ok. Regards, [Ag] gaynor@rutgers.edu
awm@doc.ic.ac.uk (Aled Morris) (03/21/89)
In article <79700025@p.cs.uiuc.edu> gillies@p.cs.uiuc.edu writes: > Each >time I get a new emacs, I make it emulate the features I'm accustomed >to in the old emacs. This way, I can take advantage of any emacs >without having to learn an entirely new editor. That's my philosophy too, however by the time I've learnt how to program the new Emacs to look like the old, I will have got used to the defaults and won't want to change back! My current editor is GNU Emacs, I like it a lot. It was hard to change from VI (about two years transition), and I still use VI for "quicky" edits (especially on Sun-3/50s), for developing programs, however, GNU can't be beat. I look forward to running an X version on my X terminal (if only...) with multi windows and fonts and...and... Aled Morris systems programmer mail: awm@doc.ic.ac.uk | Department of Computing uucp: ..!ukc!icdoc!awm | Imperial College talk: 01-589-5111x5085 | 180 Queens Gate, London SW7 2BZ
gaynor@athos.rutgers.edu (Silver) (03/22/89)
> I would LOVE to see some good LANGUAGE SPECIFIC editors! There was quite a bit of discussion concerning such in this newsgroup something over year ago. Feel like consulting the archives? By the way, since the discussion, I think someone wrote a package for GNU Emacs to consult an incremental parser for the language you were editing, which supposedly did some interesting things. I never followed it up, but I point you to gnu.emacs and comp.emacs. > Text is just the method we use to describe the things we want the machine to > do. Agreed. In a similar vein, I am a screaming fanatic about defining executable objects of a language as first-order data in the language. I.e., that routines in the language are treated just like other data, and can be inspected, modified, etc. Lisp (functions are lambda expressions, which are lists formatted something like (lambda (arg-1 ... arg-N) body-form-1 ... body-form-M)), PostScript (routines are simply arrays marked executable), Prolog (every dang thing is an assertion, which can be asserted), and a few other languages support this idea. Regards, [Ag] gaynor@rutgers.edu
gaynor@athos.rutgers.edu (Silver) (03/22/89)
Re: my previous message, executable objects as data I got side-tracked, and forgot to catch up with the topic at hand. Now, these languages for the most part have a very simple, orthogonal syntax. This makes it fairly easy to write data editors because you don't have a lot of syntactic fecal matter competing for attention. Regards, [Ag] gaynor@rutgers.edu
aad@stpstn.UUCP (Anthony A. Datri) (03/23/89)
In article <2142@nmtsun.nmt.edu> dieter@jupiter.nmt.edu (The Demented Teddy Bear) writes: >Well, one of my favorite examples is editing executables (yes, I know >string is completely wrong....) You can do this under GNU (and >probably other) Emacs. Seems to work fine under Unipress. Microemacs links to truncate long lines, and I recall that Epsilon likes to insert LF after CR when reading in a file. -- @disclaimer(Any concepts or opinions above are entirely mine, not those of my employer, my GIGI, my VT05, or my 11/34) beak is@>beak is not Anthony A. Datri @SysAdmin(Stepstone Corporation) aad@stepstone.com stpstn!aad
john@hcr.UUCP (John R. MacMillan) (03/23/89)
In article <Mar.15.13.17.00.1989.4476@athos.rutgers.edu> gaynor@athos.rutgers.edu.UUCP writes: |> Are you completely happy with your current editor, | |Yes, GNU Emacs. Unfortunately, while GNU does do everything I want, it does 10 times as much that I don't want. As such, it's bigger and slower than my "ideal" editor. To pick other nits, I'd rather not have lisp as the macro language, and I'd rather have real windows than split screens. Of course it's as close as I've come, but I'm not yet "completely happy". -- John R. MacMillan Wasn't me she was foolin' 'cause she knew HCR Corporation what she was doin' when she told me how to {utzoo,utcsri}!hcr!john awk this way -- Ahosmith
barnett@crdgw1.crd.ge.com (Bruce Barnett) (03/24/89)
In article <2125@mister-curious.sw.mcc.com>, loo@mister-curious (Joel Loo) writes: >The important auto-indentation feature (for C and Lisp) are lacking in vi. >(Or is there a unix tool to do that?) I am not sure what your exact question is, but you can set autoindent, and when you indent a line, the next line is indented the same level. The next tab indents two levels. There is a key to undent. (My vi is rusty) You can run indent on a portion of a file while in vi. You could also define an electric VI macro, (which I defined to be a function key), that would insert a '{' go to next line insert a '}' go back a line indent one level go into append mode. You could define an electric IF, etc. I just used the auto-indent on the electric '{'. -- Bruce G. Barnett <barnett@crdgw1.ge.com> a.k.a. <barnett@[192.35.44.4]> uunet!steinmetz!barnett, <barnett@steinmetz.ge.com>
toma@tekgvs.LABS.TEK.COM (Tom Almy) (03/24/89)
In article <3088@stpstn.UUCP> aad@stpstn.UUCP (Anthony A. Datri) writes: >[...] and I recall that Epsilon likes to insert LF after CR when reading >in a file. In the interest of accuracy, Epsilon normally strips CRs when reading a file and adds a CR before each LF when writing. But files can be read and written in "image" mode, in which case no translation occurs (and the control-M characters appear on the screen). Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers apply
toma@tekgvs.LABS.TEK.COM (Tom Almy) (03/24/89)
In article <5620@cognos.UUCP> emoffatt@cognos.UUCP (Eric Moffatt) writes: [...] >I would LOVE to see some good LANGUAGE SPECIFIC editors !! A friend and I >used to spend lunches discussing a C editor which worked on the parse tree >and not "TEXT". It really seemed like a good idea, things like "copy IF >statement (or FOR, WHILE...)" as well as "rename global var" etc. not >to mention checking for proper syntax (on command, I hate it when my >terminal BEEPS at me when I'm just power coding :-). Does anyone know of >any such editors ?? Well the Pascal compiler/editor "Alice" does just this. They have a virtually free demo version that would let you try it out. My opinion -- good idea for students learning the language, but a real drag once you know what you are doing. Software Channels Inc (assuming they are still around): (USA) (Canada & international) 4 Kingwood Place 212 King St. W. Kingwood, TX 77339 Toronto M5H 1K5 (713) 359-1024 (416) 591-9131 Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply
les@chinet.chi.il.us (Leslie Mikesell) (03/25/89)
In article <25@hcr.UUCP> john@hcrvax.UUCP (John R. MacMillan) writes: >Unfortunately, while GNU does do everything I want, it does 10 times >as much that I don't want. As such, it's bigger and slower than my >"ideal" editor. Has anyone written a Truely Tiny Emacs? I'd like to see something suitable for quick replies to mail and such. One window, one buffer, all text in memory would be fine. However, it should have two moderately complicated features: (1) the ability to parse GNU keymaps for the subset of functions it handles and (2) the ability to exec its big brother on the rare occasions that you need it, preferably with cursor positioning intact. Les Mikesell
bph@buengc.BU.EDU (Blair P. Houghton) (03/25/89)
In article <5620@cognos.UUCP> emoffatt@cognos.UUCP (Eric Moffatt) writes: >In article <743@stag.UUCP> trb@stag.UUCP ( Todd Burkey ) writes: >>In article <2112@mister-curious.sw.mcc.com> loo@mister-curious.sw.mcc.com (Joel Loo) writes: >>> >>How do other programmers/hackers out there feel about the need for >>higher level programming editors/tools? Are you completely happy with >> >used to spend lunches discussing a C editor which worked on the parse tree >and not "TEXT". It really seemed like a good idea, things like "copy IF >statement (or FOR, WHILE...)" as well as "rename global var" etc. not > >Text is just the method we use to describe the things we want the machine >to do. It's not neccessarily the best way, I would gladly use a "visual >Programmer" (if I could find one !!). Lemme look.... Here it is. Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Envirionments (last November in Boston, well, Cambridge, actually.) Nertz. Well. There's a lot of stuff in the proceedings about environments and some object-oriented visualization software, but not the one I wanted. I remember at least one of the demonstrations was of a product being built by a british company that iconifies the whole process. You use the mouse to pick and place functional elements (decision-diamond, output-dingus, control-flow-arrow, that sort of thing) as though you were editing the flow diagram, then you put the mouse in one of the blocks and type a few statements or expressions to finish defining its meaning. It means essentially that you don't have to think in terms of a broad, swooping flow structure and then cut and paste it into a vertical strip of code; you can put a spaghetti of arrows and blocks all over the window and the software will take care of the coding. It seems to do for high-level languages what high-level languages did for assembly, and assembly for machine-level coding... I can't remember the name of the company, and I think I've lost their brochures. Sorry. They were heavily geared towards ADA, anyway. They all were. That's where the easy, no-real-strings-attached money is going to in the military-industrial-software-simplex these days. --Blair "Simpletonex, you mean..."
night@pawl.rpi.edu (Trip Martin) (03/26/89)
In article <237@usl-pc.usl.edu> jpdres10@usl-pc.UUCP (Green Eric Lee) writes: >Mice will never replace the keyboard for operations such as, e.g., >cut-and-paste. But mice have their place. Anti-mice people might b*tch >and groan, but -- pointing at a point, then clicking the mouse button, >is a much faster way of getting to that point than repeatedly hitting >the cursor keys (for one thing, I always overshoot). I would say the opposite is true, at least for me. Moving the cursor using the keyboard doesn't have to be done one character at a time, per keystroke. Both emacs and vi, and any decent text editor for that matter allow you to the cursor around in any number of ways. As for why the mouse is slower, I have to look at my hands when moving to or from the mouse. Moving my attention away from the screen like that slows me down. I also tend to overshoot with the mouse. It does take a fair amount of dexterity to really become quick at using a mouse. I suspect quite a few people have the same problems I do with mice. > And for someone who's not a regular user of a particular text >editor, pull-down menus are a godsend. At least, if they're a >supplement to keyboard commands, and not a replacement. Want to know >what the command is for, say, "delete sentence"? Pull down the >"Editing Operations" menu, select the "delete" item, select the >"sentence" sub-item which has the "M-^D" keycode abbreviation to tell >you how to do it without the menus next time... and it's all just one >stroke of the mouse, without all the typing and searching needed for, >say, the GNU Emacs help function. True, menus of any kind are a help when using a new text editor. However, if I were going to learn a new editor, I'd rather have a reference card around so I can learn the keyboard commands, and not the menus. > (slight note: I am an EXTREMELY fast typer... maybe some people >may find themselves slowed by occasionally moving a mouse with their >right hand, but I don't see how). It seems to me that you probably have the dexterity to use a mouse to its fullest. Other people like myself are not so lucky. I'm a moderately fast typer, but my dexterity isn't all that great. Trip Martin night@pawl.rpi.edu night@uruguay.acm.rpi.edu
barnett@crdgw1.crd.ge.com (Bruce Barnett) (03/27/89)
In article <990@rpi.edu>, night@pawl (Trip Martin) writes: >As for why the mouse is slower, I have to look at my hands when moving >to or from the mouse. Moving my attention away from the screen like >that slows me down. I also tend to overshoot with the mouse. It does >take a fair amount of dexterity to really become quick at using a mouse. >I suspect quite a few people have the same problems I do with mice. It doesn't really take dexterity, just practice. Just like a keyboard takes practice. I have never taken a lesson, but I do okay. Same with a mouse. For instance, if I have to move the cursor more than 20 lines, and to a different column, the mouse is the easiest way to do it. Especially when the sizes of the windows are always different heights, etc. >It seems to me that you probably have the dexterity to use a mouse >to its fullest. Other people like myself are not so lucky. I'm a >moderately fast typer, but my dexterity isn't all that great. Last I knew, Trip, you didn't have a workstation in front of you 8 hours a day. If you did, and you made the effort, you would develop the 'dexterity' you desire. Most mouse systems I am aware of are tunable, so you can set scaling factors (The faster you more, the farther the mouse travels.) The default might be uncomfortable for a novice, and may in fact be set for a intermediate user. I think the problem with most people is that they are so set on their ways that they had a hard time learning to use different tools. As an example, the people who wrote the mouse based front ends for GNUemacs (NeWS and SunView), don't really understand the secondary selection mechanism, because they don't use mice much. Textedit has a better mouse interface than does gnuemacs, which is a shame. I like emacs's power, and textedit's mouse interface. It really bugs me that I can exchange two pieces of text in any two windows by just pressing and releasing three keys on the keyboard, *except* when I am using emacs or vi. -- Bruce G. Barnett <barnett@crdgw1.ge.com> a.k.a. <barnett@[192.35.44.4]> uunet!steinmetz!barnett, <barnett@steinmetz.ge.com>
gregg@ihlpb.ATT.COM (Wonderly) (03/27/89)
From article <237@usl-pc.usl.edu>, by jpdres10@usl-pc.usl.edu (Green Eric Lee): > ... > > But I might > note that VI doesn't do a couple of things which I count as necessary. > You cannot edit multiple files onscreen at the same time (with the > ability to freely move text between them), and you cannot have > multiple windows into one file (e.g., one at the top into > declarations, one at the bottom into the function you're currently > writing). While this is handy and I will not attempt to dispute the merits of multiple windows on the screen, I will say this. Moving text between two files is easy using the named buffers. Just use "[a-z]<some yank or delete command> followed by :vi file to switch to the other file. Then use "[a-z][pP] to place the text where you want it (note that a delete sequence automatically inserts text into a numbered buffer which is also available after switching files). When you want to go back to the other file use ^^ or ^. or :vi # if your terminal won't send either of those sequences. If you place the opening brace of the function at the beginning of the line you can use [[ to move to the top of the function, do your declarations and then use '' to move back to your old place. My opinion is that as long as xMACS editors continue to use a language such as lisp for programability there will continue to be resistance. Every version I have tried to implement vi's % operator in has failed miserably in speed. If you really want to see a fast programable editor get someone to show you DEC's TPU for VMS. If you want to see how I would like to see VI, look at my VI emulation in TPU (select regions, multiple windows and buffers etc). -- Gregg Wonderly DOMAIN: gregg@ihlpb.att.com AT&T Bell Laboratories UUCP: att!ihlpb!gregg
sommar@enea.se (Erland Sommarskog) (03/28/89)
Gregg Wonderly (gregg@ihlpb.ATT.COM) writes: >My opinion is that as long as xMACS editors continue to use a language >such as lisp for programability there will continue to be resistance. >Every version I have tried to implement vi's % operator in has failed >miserably in speed. > >If you really want to see a fast programable editor get someone to show >you DEC's TPU for VMS. If you want to see how I would like to see VI, >look at my VI emulation in TPU (select regions, multiple windows and >buffers etc). Hear, hear! Just couldn't agree more. Emacs may have cool functionality, but I doubt to call it a serious editor, after all the times I just waited for it to echo a typed character. Now, TPU, that is a serious editor. -- Erland Sommarskog - ENEA Data, Stockholm - sommar@enea.se I used to say "It could have been worse, it could have been Pepsi", then I drank a Diet Coke...
d87-hho@nada.kth.se (Henrik Holmstr|m) (03/28/89)
I like Emacs (GNU). Some other people don't. They like vi. Or XEdit. Or TPU. Or cat. Or something else. But who cares? Those of you who must go on, can't you do that in talk.bizarre or comp.editors?
fischer@iesd.dk (Lars P. Fischer) (03/28/89)
In article <4392@enea.se> sommar@enea.se (Erland Sommarskog) writes: > >My opinion is that as long as xMACS editors continue to use a language > >such as lisp for programability there will continue to be resistance. >Hear, hear! Just couldn't agree more. Emacs may have cool >functionality, but I doubt to call it a serious editor, >after all the times I just waited for it to echo a typed >character. Now, TPU, that is a serious editor. It's not UNIX that needs a "real" editor. Programmers simply need real computers, not some flunky old vaxens. Emacs is all the editor I need. And fast, too. /Lars -- Lars Fischer, fischer@iesd.dk, {...}!mcvax!iesd!fischer Dept. of Math. and Comp. Sci., University of Aalborg Strandvejen 19, DK-9000 Aalborg, DENMARK Any suffiently advanced technology is indistinguishable from magic. -- Arthur C. Clarke
neubauer@bsu-cs.UUCP (Paul Neubauer) (03/28/89)
In article <4392@enea.se> sommar@enea.se (Erland Sommarskog) writes: >Gregg Wonderly (gregg@ihlpb.ATT.COM) writes: (edited considerably--pn) > >My opinion ... xMACS ... lisp ... failed miserably in speed. > >... fast programable editor ... DEC's TPU for VMS. > >Hear, hear! Just couldn't agree more. Emacs may have cool >functionality, but I doubt to call it a serious editor, >after all the times I just waited for it to echo a typed >character. Now, TPU, that is a serious editor. I don't want to throw too much cold water on anyone. I happen to like both, and have written several thousand lines of TPU myself. I just think that we need to keep in mind what environments we are dealing with. Here (Ball St. U.) we have a cluster of 3 11/785's and 1 8650 with far too many users. Waiting for EVE to echo a character can be just as frustrating as waiting for GNUemacs on the 785 running BSD4.3 that I am writing this on. (Though actually I am using JOVE right now.) If you want responsiveness, there is virtually no alternative to having a system dedicated to you, whether that is a personal microcomputer or a very lightly loaded VAX or whatever other lightly loaded system. -- Paul Neubauer neubauer@bsu-cs.bsu.edu neubauer@bsu-cs.UUCP <backbones>!{iuvax,pur-ee}!bsu-cs!neubauer
zifrony@TAURUS.BITNET (03/29/89)
In article <743@stag.UUCP>, trb@stag.BITNET writes: > ... My idea of an ideal editor is one that 1) allows > multi-file editing with a clean and fast buffering scheme, 2) fully > supports folding, 3) allows the programmer to relate lines and words > and use these relationships in a hyper-text like manner (i.e. moving > back and forth between a program document and the appropriate lines > of code at the press of a few keys), 4) has configurations save and > restore modes (so you can get back to EXACTLY the same place you left > off editing the day before...with all buffer info intact), and 5) has > more intelligence built in (rather than interpreted in macros.
zifrony@TAURUS.BITNET (03/29/89)
Sorry, this is a repost to the request of some people which didn't get it in its entirety. In article <743@stag.UUCP>, trb@stag.BITNET writes: > ... My idea of an ideal editor is one that 1) allows > multi-file editing with a clean and fast buffering scheme, 2) fully > supports folding, 3) allows the programmer to relate lines and words > and use these relationships in a hyper-text like manner (i.e. moving > back and forth between a program document and the appropriate lines > of code at the press of a few keys), 4) has configurations save and > restore modes (so you can get back to EXACTLY the same place you left > off editing the day before...with all buffer info intact), and 5) has > more intelligence built in (rather than interpreted in macros.
zifrony@TAURUS.BITNET (03/29/89)
In article <743@stag.UUCP>, trb@stag.BITNET writes: > ... My idea of an ideal editor is one that 1) allows > multi-file editing with a clean and fast buffering scheme, 2) fully > supports folding, 3) allows the programmer to relate lines and words > and use these relationships in a hyper-text like manner (i.e. moving > back and forth between a program document and the appropriate lines > of code at the press of a few keys), 4) has configurations save and > restore modes (so you can get back to EXACTLY the same place you left > off editing the day before...with all buffer info intact), and 5) has > more intelligence built in (rather than interpreted in macros. > > ... (Deleted stuff) > > -Todd Burkey > trb@stag.UUCP > or ... tburkey@eta.com In addition, I think that there is a need for the following features, which can make life much better for the editor's users: 1. A two window option, like in DEC's EVE, to better utilize the multi-file editing capability. 2. A recovery mechanism after a crash is more than welcome. If editable, like the editing journal in DEC's environment, it could be used to suppress a few bad commands entered mistakingly during the editing session. I must state that vi supports a recovery after crash mechanism as well. 3. Have the result of a pushed system command (like :!<cmd> or EVE's DCL command) be put in a new editing buffer, so it can be looked at, and incorporated in the files being edited. Unfortunately, vi does not support these features in a satisfying way; alas, no better alternative is available in the standard UnIX environment. (I know of GNU Emacs, but I don't think it is supplied with each UnIX system, and it is worse to learn than vi, and requires a lot of time investment to be utilized in a good way). Working with a SUN workstation, I find TEXTEDIT, the mouse-based editor, and the possibility to have a few copies of it concurrently, as a compensation for the lack of nice features. This editor is operated very quickly, and apart of the unavailability of a native "operate a command on all the file", it is very convenient (I have vi to do major replacements). Doron Zifrony zifrony%Taurus.bitnet@Cunyvm.cuny.edu or Msc. Student zifrony@Math.Tau.Ac.IL Tel Aviv Univ. Israel
gaynor@athos.rutgers.edu (Silver) (03/29/89)
(Doron, your message made it through this time!) >> = trb@stag.bitnet > = zifrony@taurus.bitnet >> 1) allows multi-file editing with a clean and fast buffering scheme Got it. >> 2) fully supports folding Got it. >> 3) allows the programmer to relate lines and words and use these >> relationships in a hyper-text like manner (i.e. moving back and forth >> between a program document and the appropriate lines of code at the press >> of a few keys) Doesn't sound to difficult to program this in... An extended tags mechanism would probably suffice to start. >> 4) has configurations save and restore modes (so you can get back to EXACTLY >> the same place you left off editing the day before...with all buffer info >> intact) Got it. >> 5) has more intelligence built in (rather than interpreted in macros) This is rather vague. I tend to say "Got it." simply because the extension language is much more than a dumb macro language. > In addition, ... > 1. A two window option, like in DEC's EVE, to better utilize the multi-file > editing capability. Got it. > 2. A recovery mechanism after a crash is more than welcome. Got it, normally via n-keypress-checkpointing (you set n) and automatic backup version generation. > If editable, like the editing journal in DEC's environment Journaling as you describe would be trivial to implement. Most find the recovery mechanisms adequate, though. > suppress a few bad commands Brings to mind the feature which allows one to arbitrarily restrict functions known to be confusing, a command-disabling mechanism. > 3. Have the result of a pushed system command ... be put in a new editing > buffer, so it can be looked at, and incorporated in the files being > edited. Got it, several different ways. > (I know of GNU Emacs, but I don't think it is supplied with each UnIX system, > and it is worse to learn than vi, and requires a lot of time investment to be > utilized in a good way). First, note that Emacs is persistent. If it's not supplied with a given Unix system, forgive the vendor's ignorance, and install it yourself. Ports to most machines can be made without hitch through the supplied machine and os definitions. comp.emacs and gnu.emacs can be consulted when difficulties arise. (Emacs users provide suprisingly good support to each other.) It is no worse to learn than vi. Better in some respects, mostly because it is the best-documented individual software product that I can think of (note that _all_ of the documentation is on-line, most of it interactively accessable). It boils down to "you get what you pay for". You invest a little time into either, you get only a novice understanding. You invest quite a bit more time into either, you get an expert understanding. That's as far as you go in vi. In Emacs, you keep on going, learning neat time-saving feature after neat feature, as long as you have the time and will to do so. Or you can continue at a lower level, and learn to program new tricks into the old dog. The environment Emacs provides for its own extension language is pretty nice - I do most of my non-C programming in Emacs Lisp, just for the nice environment, smokin' user interface, and wonderful system interface. For starting emacs users, my advice is simple: run through the interactive tutorial (takes about 2 hours) to acquire a basic working knowledge. Then, make a print of the 3-page reference `card', and _use_ it. Then, when comfortable, browse the Info tree for detailed information on more advanced features (the Info tree is a tree-menu-based interctive browser for the several-hundred-page detailed user manual). > Working with a SUN workstation, I find TEXTEDIT, the mouse-based editor, and > the possibility to have a few copies of it concurrently, as a compensation > for the lack of nice features. Got the mouse support under X and NeWS. (I haven't used suntools in over a year, but even so, never used or looked at emacstool.) Regards, [Ag] gaynor@rutgers.edu
jpdres10@usl-pc.usl.edu (Green Eric Lee) (04/01/89)
In article <4392@enea.se> sommar@enea.se (Erland Sommarskog) writes: >Gregg Wonderly (gregg@ihlpb.ATT.COM) writes: > >My opinion is that as long as xMACS editors continue to use a language > >such as lisp for programability there will continue to be resistance. > >Every version I have tried to implement vi's % operator in has failed > >miserably in speed. >Hear, hear! Just couldn't agree more. Emacs may have cool >functionality, but I doubt to call it a serious editor, >after all the times I just waited for it to echo a typed >character. Now, TPU, that is a serious editor. >Erland Sommarskog - ENEA Data, Stockholm - sommar@enea.se You wait for Emacs to echo a typed character? The only time I've waited for GNU Emacs to echo a typed character is when the machine is seriously overloaded (e.g. a dozen Prolog and Lisp hackers merrily doing their thing). I have noticed that GNU Emac's redisplay algorithm is about as efficient as an "intelligent" algorithm can get -- its response time is even faster than the MicroEmacs editors that I've seen (which certainly don't have the excuse of being "big" to account for their speed). Even under load. Of course, I can only vouch for GNU Emacs under Unix (BSD4.x Pyramids here, high end 3b2 running Sys V.3 elsewhere). I suspect it would be far less efficient under VMS, because it was originally designed to run under Unix and was sort of hacked, kludged, and shoe-horned in order to run under VMS. As for Emacs Lisp: Lisp is a naturally interpretive language of far greater power than the usual limited Teco-style extension language. The speed problems come from the fact that it HAS to be interpreted, even if you tokenize it into byte-codes -- Emacs runs on dozens of different machines, with dozens of word organizations and machine languages. If you have an extension language for an editor which was designed for one single machine, and will only run on that one single machine, naturally you can make it run more efficiently than a generalized solution -- at least, on that one single machine. Compiled Lisp has come close to matching Fortran for speed (see Multics MacLisp for an old example). But compilation simply isn't feasible when you're trying for a generalized solution that runs on dozens of different machines. I suggest that if your Emacs staggers and stutters, that you suggest to your management that your company/university/etc. aquire adequate resources for the pursuit of your mission. It's not Emac's fault that you are trying to run it on seriously overloaded equipment, or under an operating system for which it was not designed. If your equipment is too overloaded to run Emacs, it's probably too overloaded for efficient program development and research, too. I have struggled on without adequate equipment when necessary, but it generally takes two to four times longer to develop a program than when you have adequate resources available. -- | // Eric Lee Green P.O. Box 92191, Lafayette, LA 70509 | | // {uunet!dalsqnt,killer}!usl!elg (318)989-9849 | | \X/ >> In Hell you need 4Mb to Multitask << |
gaynor@athos.rutgers.edu (Silver) (04/02/89)
>>> = gregg@ihlpb.att.com >> = sommar@enea.se (??) > = jpdres10@usl-pc.usl.edu >>> [Lisp is too slow for an extension language.] Not at all, if it's compiled. Now, the target machine for the code is the issue. GNU Emacs interprets its own compiled code in software, so, although it's _much_ faster than interpreting straight lisp, it's still slow compared to native machine code. It would be nice to compile to that level, but this is a tall order, and limits portability. >>> Every version I have tried to implement vi's % operator in has failed >>> miserably in speed. I assumed that this is after you compiled the code. Lemme check this out... You mean % as in "Move the cursor to the matching parenthesis or brace."? (I had to go to the Sun 4.0 Distribution manuals for that - how do you access vi's interactive help? I also couldn't find any documentation in the `official places', which indicates how popular it is at RU.) This is how it's implemented in .../emacs/lisp/lisp.el: ;; Copyright (C) 1985, 1987, 1988 Richard M. Stallman (defun forward-sexp (&optional arg) "Move forward across one balanced expression. With argument, do this that many times." (interactive "p") (or arg (setq arg 1)) (goto-char (or (scan-sexps (point) arg) (buffer-end arg))) (if (< arg 0) (backward-prefix-chars))) The workhorse is scan-sexps, which is a primitive function, so it boogies. >> Emacs may have cool functionality, ... ^^^ That's "does". :^) >> ... but I doubt to call it a serious editor, after all the times I just >> waited for it to echo a typed character. This is ridiculous. I often run GNU Emacs on a decrepit diskless sun2 (4mb ram, ugh) under either X or suntools, running Big Programs and switching between windows often (swap swap swap), and rarely have to wait (except for the occasional swap). Your hardware situation is a nightmare, no? >> Now, TPU, that is a serious editor. I don't know anything about it, so cannot make any judgements beyond the fact that I haven't heard enough about it to know anything about it, and I follow the editing scene to some slight degree. Knowutimean, Vern? > I have noticed that GNU Emac's redisplay algorithm is about as efficient as > an "intelligent" algorithm can get ... It's fascinating to watch the tricks of the redisplay on a slow, smooth-scrolling terminal which emacs has been cruelly fooled into thinking is a fast terminal. The algorithms make the trade-off between compute time vs. screen display time, giving optimal redisplay at the expense of machine cycles. Note that the amount of redisplay work done can be seriously cut down by using `dumber' terminal definitions, and so performing on the display level of the smaller editors. Regards, [Ag] gaynor@rutgers.edu
gregg@ihlpb.ATT.COM (Wonderly) (04/03/89)
From article <248@usl-pc.usl.edu>, by jpdres10@usl-pc.usl.edu (Green Eric Lee): ...stuff about EMACS speed deleted > > As for Emacs Lisp: Lisp is a naturally interpretive language of far > greater power than the usual limited Teco-style extension language. > The speed problems come from the fact that it HAS to be interpreted, > even if you tokenize it into byte-codes -- Emacs runs on dozens of > different machines, with dozens of word organizations and machine > languages. The point I was trying to make is that LISP is not a common language base for most people. A more procedural language such as TPU looks and feels more comfortable. E.g. something like the following is infinitely easier for me to read than lisp. PROCEDURE split_window LOCAL newwin1, newwin2, wintop, slop, winlen; winlen := GET_INFO (CURRENT_WINDOW, "VISIBLE_LENGTH"); IF (winlen < 3) THEN MESSAGE ("Current window too small to split"); RETURN; ENDIF; wintop := GET_INFO (CURRENT_WINDOW, "VISIBLE_TOP"); slop := winlen - ((winlen / 2) * 2); ! subtract 1 from length for status line. newwin1 := CREATE_WINDOW (wintop, (winlen / 2) - 1, ...); newwin2 := CREATE_WINDOW (wintop + (winlen / 2), (winlen / 2) - 1 + slop, ...); ! Map both windows to the current buffer. MAP (newwin1, CURRENT_BUFFER); MAP (newwin2, CURRENT_BUFFER); ! Delete the old window. DELETE (CURRENT_WINDOW); POSITION (newwin1); ENDPROCEDURE; And the compilation of this, or any other interpretive language, can compact a lot of the expressions because we know how to do these things, whereas I don't know of anybody (I have not looked) applying any optimization or other speed ups to lisp based interpreters. Given the difference in speed (I know how DEC did this, the interpreter is a giant VAX case instruction) I would say that the EMACS I used on the same VAX as TPU was not very efficient. -- Gregg Wonderly DOMAIN: gregg@ihlpb.att.com AT&T Bell Laboratories UUCP: att!ihlpb!gregg
flee@shire.cs.psu.edu (Felix Lee) (04/03/89)
In article <Apr.2.04.28.07.1989.3092@athos.rutgers.edu>, gaynor@athos.rutgers.edu (Silver) writes: >>> = sommar@enea.se (??) [...] >>> Now, TPU, that is a serious editor. >I don't know anything about it, so cannot make any judgements TPU only runs on an obscure operating system known as VMS :-) The only reason I've ever heard of TPU is that it was "Exotic Language of the Month" in some issue of _Computer Languages_. It looked pretty reasonable... -- Felix Lee flee@shire.cs.psu.edu *!psuvax1!shire!flee
gaynor@porthos.rutgers.edu (Silver) (04/03/89)
> The point I was trying to make is that LISP is not a common language base for > most people. A most unfortunate circumstance. > [TPU program for split window] I'm convinced, TPU's language _is_ moderately powerful. Got a reference sheet on the language? Post it, and let's pick at it for a bit. > ... optimization or other speed ups to lisp based interpreters. Well, no, not really, you get a much bigger payoff optimizing the compiler output (and the interpreting `machine', if implemented in software). Regards, [Ag] gaynor@rutgers.edu
nate@hobbes.intel.com (Nate Hess) (04/04/89)
In article <10099@ihlpb.ATT.COM>, gregg@ihlpb (Wonderly) writes: > >The point I was trying to make is that LISP is not a common language base for >most people. A more procedural language such as TPU looks and feels more >comfortable. E.g. something like the following is infinitely easier for me to >read than lisp. [TPU example deleted.] Hmmm. Easier for *you*, yes, not easier for me. I think that lisp is an excellent choice as an editor's "native: language. It's a big win to have the language that you write your editor init file with be the same language that you type to the editor's command interpreter. If you're in TPU, looking at a buffer containing the TPU code you defined in your example, how easy is it to change the buffer, and then instantly re-evaluate the definition, so that the modified procedure is now available in your editing session? >Given the difference in speed (I know how DEC did this, the interpreter >is a giant VAX case instruction) I would say that the EMACS I used on >the same VAX as TPU was not very efficient. This might very well be the case. TPU is, however, infinitely inefficient on VAXen running, say, Ultrix(tm, no doubt). It has been optimized to run on VAXen under VMS. Emacs, on the other hand, will run on VAX under VMS, 4.3BSD, Ultrix, etc., etc. In fact, I've taken 200 line .emacs files under Ultrix, transferred them to VMS, and had the exact same functionality (minus VMS BD'ed-ness) as on Ultrix. Porting my Emacs environment to my Sun 386i was as simple as rcp'ing my .emacs file. I would also be willing to bet that, if RMS had the motivation, he could port Emacs over to VMS and optimize it so that it *would* run faster than TPU. Ie., the speed difference is because of portability concerns, not because of the inherent Lispyness of Emacs. Happy editing! --woodstock -- "What I like is when you're looking and thinking and looking and thinking...and suddenly you wake up." - Hobbes woodstock@hobbes.intel.com ...!{decwrl|hplabs!oliveb}!intelca!mipos3!nate
gregg@ihlpb.ATT.COM (Wonderly) (04/05/89)
From article <Apr.3.08.37.22.1989.6904@porthos.rutgers.edu>, by gaynor@porthos.rutgers.edu (Silver): > I'm convinced, TPU's language _is_ moderately powerful. Got a reference sheet > on the language? Post it, and let's pick at it for a bit. TPU is not a simple language. Nor is it small in specification. I can elaborate a little. TPU variables inherit type information from assignment. The types supported are INTEGER, KEYWORD, STRING, PATTERN, MARKER, RANGE, BUFFER, WINDOW, PROGRAM and ARRAY. A MARKER holds a location. A RANGE is the region between two markers as created in rnge := CREATE_RANGE (mark1, mark2, NONE); The NONE KEYWORD can be replaced with BOLD, BLINK, REVERSE or DIM to cause the range to have that video attribute on the screen. A PROGRAM is something returned by COMPILE which can be passed to EXECUTE to do whatever was programmed in the compiled object e.g. Read keystrokes and execute the 'programs' mapped to them, where key_info() is a procedure that uses the currently active keymap to retrieve the desired info. LOOP key := READ_KEY; prog := key_info (key, PROGRAM); IF prog <> 0 THEN EXECUTE (prog); ELSE MESSAGE ("Undefined key"); ENDIF; ENDLOOP; The rest of the types should be obvious. WINDOWS may or may not have status bars. You compose the text that goes into them. The builtin procedure COPY_TEXT is used to move text between BUFFERS and different locations in the same buffer. The DELETE() builtin removes the object that you pass it. It knows how to handle BUFFERS, WINDOWS, MARKERS and RANGES. The ERASE_CHARACTER() builtin erases the number of characters specified in the specified direction. A simple mapping for the DELETE key would be DEFINE_KEY ("ERASE_CHARACTER (-1)", DEL_KEY, "delete key"); which would cause the DELETE key to erase the character behind the current position in the current buffer. There are other things that you would probably wish to do such as guard against the "Can't move beyond beginning of buffer" MESSAGE that would be spit out whenever you are at the beginning of the buffer and type DELETE. DEFINE_KEY accepts a fourth parameter which optionally specifies a keymap that the key is to be defined in. You must use CREATE_KEYMAP and CREATE_KEYMAP_LIST to establish all of the appropriate resources to store the keymaps. My VI emulator uses 3 keymaps. One for command mode, one for insert/edit mode and one that maps all of the keys to a movement routine for the d, c, <, > and y commands to use. I could go on... -- Gregg Wonderly DOMAIN: gregg@ihlpb.att.com AT&T Bell Laboratories UUCP: att!ihlpb!gregg