yoda@ittatc.ATC.ITT.UUCP (Todd C. Williams [Jedi Knight]) (03/12/86)
I want to have an abbreviation that will print out the following 5 lines: main(argc,argv) int argc; char *argv[]; { } I want to put this is my .exrc file. I have already set autoindent in this file. The problem is that, with autoindent set, multiline abbreviations are tabbed in by autoindent, with (apparently) no way to stop this. I tried the obvious ^D's, but to no avail, even when lnext quoted. Can anyone help? EXAMPLES that do NOT work: THIS (in .exrc): set autoindent abbreviate aaaaa main(argc,argv)^M^Iint argc;^Mchar *argv[];^M^D{^M} PRODUCES: main(argc,argv) int argc; char *argv[]; { } adding additional ^D's, quoted or not, does not work. We are running 4.1bsd on a VAX-11/780. -Todd Williams -- +------------------------------------------------------------------------------+ | Todd C. Williams | "Summer blonds | | ITT Defense Communications | revealing tan lines, | | Nutley, NJ | I'll make more moves than | | {decvax, et al.}!ittatc!dcdvaxb!tcw | ALLIED VAN LINES!" | | I love to receive e-mail from anyone!| --from: "I wanna be a lifeguard" | | | by BLOTTO | +------------------------------------------------------------------------------+
larry@geowhiz.UUCP (Larry McVoy) (03/14/86)
In article <1727@ittatc.ATC.ITT.UUCP> yoda@ittatc.ATC.ITT.UUCP (Todd C. Williams [Jedi Knight]) writes: >EXAMPLES that do NOT work: > >THIS (in .exrc): > >set autoindent >abbreviate aaaaa main(argc,argv)^M^Iint argc;^Mchar *argv[];^M^D{^M} Umm... this is too simple to work, but how about: abbreviate foo :set noai Imain(argc,argv)^M^Iint argc;^Mchar *argv[];^M^D{^M}:set ai Which, escapes out of insert, sets no ai, does it, escapes, sets ai back. I know, a kludge. -- Larry McVoy ----------- Arpa: mcvoy@rsch.wisc.edu Uucp: {seismo, ihnp4}!uwvax!geowhiz!geophiz!larry "Just remember, wherever you go -- there you are." -Buckaroo Banzai
ajs@hpfcla (03/17/86)
> I want to have an abbreviation that will print out the following 5 lines: > > main(argc,argv) > int argc; > char *argv[]; > { > } Off on a tangent: I have the sneaky suspicion that you are trying to save time writing programs (an admirable goal). But, unless you write a lot of quick little throwaways, you're either going to write some pretty abominable code, or you don't really want to stick in your .exrc all the stuff a good "starting point" should include. Instead, why don't you craft a reasonable "template.c" to suit your tastes, and just hide in vi the finger macro to read it in? For instance, my own "template.c", iteratively refined over time and including a number of commonly-used utility routines, is 176 lines long. "Pride in craftsmanship is a winning strategy." Alan Silverstein, Hewlett-Packard Fort Collins Systems Division, Colorado {ihnp4 | hplabs}!hpfcla!ajs, 303-226-3800 x3053, N 40 31'31" W 105 00'43"