415 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			415 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| echo x - ctags.man
 | |
| sed '/^X/s///' > ctags.man << '/'
 | |
| X.TH CTAGS 1
 | |
| X.SH NAME
 | |
| Xctags - Generates "tags" and (optionally) "refs" files
 | |
| X.SH SYNOPSIS
 | |
| X\fBctags\fP [\fB-stvra\fP] \fIfilesnames\fP...
 | |
| X.SH DESCRIPTION
 | |
| X\fIctags\fP generates the "tags" and "refs" files
 | |
| Xfrom a group of C source files.
 | |
| XThe "tags" file is used by Elvis' ":tag" command,
 | |
| Xcontrol-] command,
 | |
| Xand -t option.
 | |
| XThe "refs" file is sometimes used by the \fIref(1)\fP program.
 | |
| X.PP
 | |
| XEach C source file is scanned for #define statements and
 | |
| Xglobal function definitions.
 | |
| XThe name of the macro or function becomes the name of a tag.
 | |
| XFor each tag, a line is added to the "tags" file which contains:
 | |
| X.RS
 | |
| X.nf
 | |
| X       - the name of the tag
 | |
| X       - a tab character
 | |
| X       - the name of the file containing the tag
 | |
| X       - a tab character
 | |
| X       - a way to find the particular line within the file.
 | |
| X.RE
 | |
| X.fi
 | |
| X.PP
 | |
| XThe filenames list will typically be the names of all C source
 | |
| Xfiles in the current directory, like this:
 | |
| X.RS
 | |
| X.nf
 | |
| X$ ctags -stv *.[ch]
 | |
| X.RE
 | |
| X.fi
 | |
| X.SH OPTIONS
 | |
| X.IP \fB-t\fR
 | |
| XInclude typedefs.
 | |
| XA tag will be generated for each user-defined type.
 | |
| XAlso tags will be generated for struct and enum names.
 | |
| XTypes are considered to be global if they are defined in a header file,
 | |
| Xand static if they are defined in a C source file.
 | |
| X.IP \fB-v\fR
 | |
| XInclude variable declarations.
 | |
| XA tag will be generated for each variable, except for those that are declared
 | |
| Xinside the body of a function.
 | |
| X.IP \fB-s\fR
 | |
| XInclude static tags.
 | |
| X\fICtags\fR will normally put global tags in the "tags" file, and silently ignore
 | |
| Xthe static tags.
 | |
| XThis flag causes both global and static tags to be added.
 | |
| XThe name of a static tag is generated by prefixing the name of the declared
 | |
| Xitem with the name of the file where it is defined, with a colon in between.
 | |
| XFor example, "static foo(){}" in "bar.c" results in a tag named "bar.c:foo".
 | |
| X.IP \fB-r\fP
 | |
| XThis causes \fIctags\fP to generate both "tags" and "refs".
 | |
| XWithout \fB-r\fP, it would only generate "tags".
 | |
| X.IP \fB-a\fR
 | |
| XAppend to "tags", and maybe "refs".
 | |
| XNormally, \fIctags\fR overwrites these files each time it is invoked.
 | |
| XThis flag is useful when you have to many files in the current directory
 | |
| Xfor you to list them on a single command-line;
 | |
| Xit allows you to split the arguments among several invocations.
 | |
| X.SH FILES
 | |
| X.IP tags
 | |
| XA cross-reference that lists each tag name, the name of the source file that
 | |
| Xcontains it, and a way to locate a particular line in the source file.
 | |
| X.IP refs
 | |
| XThe "refs" file contains the definitions for each tag in the "tags" file,
 | |
| Xand very little else.
 | |
| XThis file can be useful, for example, when licensing restrictions prevent
 | |
| Xyou from making the source code to the standard C library readable by everybody,
 | |
| Xbut you still everybody to know what arguments the library functions need.
 | |
| X.SH BUGS
 | |
| X.PP
 | |
| X\fIctags\fR is sensitive to indenting and line breaks.
 | |
| XConsequently, it might not discover all of the tags in a file that
 | |
| Xis formatted in an unusual way.
 | |
| X.SH "SEE ALSO"
 | |
| Xelvis(1), refs(1)
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| /
 | |
| echo x - elvis.man
 | |
| sed '/^X/s///' > elvis.man << '/'
 | |
| X.TH ELVIS 1
 | |
| X.SH NAME
 | |
| Xelvis, ex, vi, view, input - The editor
 | |
| X.SH SYNOPSIS
 | |
| X\fBelvis\fP [\fIflags\fP] [\fB+\fP\fIcmd\fP] [\fIfiles\fP...]
 | |
| X.SH DESCRIPTION
 | |
| X\fIElvis\fP is a text editor which emulates \fIvi\fP/\fIex\fP.
 | |
| X.PP
 | |
| XOn systems which pass the program name as an argument, such as Unix and Minix,
 | |
| Xyou may also install \fIelvis\fP under the names "ex", "vi", "view", and "input".
 | |
| XThese extra names would normally be links to elvis;
 | |
| Xsee the "ln" shell command.
 | |
| X.PP
 | |
| XWhen \fIelvis\fP is invoked as "vi",
 | |
| Xit behaves exactly as though it was invoked as "elvis".
 | |
| XHowever, if you invoke \fIelvis\fP as "view",
 | |
| Xthen the readonly option is set as though you had given it the "-R" flag.
 | |
| XIf you invoke \fIelvis\fP as "ex",
 | |
| Xthen \fIelvis\fP will start up in the colon command mode
 | |
| Xinstead of the visual command mode,
 | |
| Xas though you had given it the "-e" flag.
 | |
| XIf you invoke \fIelvis\fP as "input" or "edit",
 | |
| Xthen \fIelvis\fP will start up in input mode,
 | |
| Xas though the "-i" flag was given.
 | |
| X.SH OPTIONS
 | |
| X.IP \fB-r\fP
 | |
| XTo the real vi, this flag means that a previous edit should be recovered.
 | |
| X\fIElvis\fP, though, has a separate program, called \fIelvrec(1)\fP, for recovering
 | |
| Xfiles.
 | |
| XWhen you invoke \fIelvis\fP with -r, \fIelvis\fP will tell you to run \fIelvrec\fP.
 | |
| X.IP \fB-R\fP
 | |
| XThis sets the "readonly" option,
 | |
| Xso you won't accidentally overwrite a file.
 | |
| X.IP "\fB-t\fP \fItag\fP"
 | |
| XThis causes \fIelvis\fP to start editing at the given tag.
 | |
| X.IP "\fB-m\fP [\fIfile\fP]"
 | |
| X\fIElvis\fP will search through \fIfile\fP for something that looks like
 | |
| Xan error message from a compiler.
 | |
| XIt will then begin editing the source file that caused the error,
 | |
| Xwith the cursor sitting on the line where the error was detected.
 | |
| XIf you don't explicitly name a \fIfile\fP, then "errlist" is assumed.
 | |
| X.IP \fB-e\fP
 | |
| X\fIElvis\fP will start up in colon command mode.
 | |
| X.IP \fB-v\fP
 | |
| X\fIElvis\fP will start up in visual command mode.
 | |
| X.IP \fB-i\fP
 | |
| X\fIElvis\fP will start up in input mode.
 | |
| X.IP "\fB-w\fR \fIwinsize\fR"
 | |
| XSets the "window" option's value to \fIwinsize\fR.
 | |
| X.IP "\fB+\fP\fIcommand\fP or \fB-c\fP \fIcommand\fP"
 | |
| XIf you use the +\fIcommand\fP parameter,
 | |
| Xthen after the first file is loaded
 | |
| X\fIcommand\fP is executed as an EX command.
 | |
| XA typical example would be "elvis +237 foo",
 | |
| Xwhich would cause \fIelvis\fP to start editing foo and
 | |
| Xthen move directly to line 237.
 | |
| XThe "-c \fIcommand\fP" variant was added for UNIX SysV compatibility.
 | |
| X.SH FILES
 | |
| X.IP /tmp/elv*
 | |
| XDuring editing,
 | |
| X\fIelvis\fP stores text in a temporary file.
 | |
| XFor UNIX, this file will usually be stored in the /tmp directory,
 | |
| Xand the first three characters will be "elv".
 | |
| XFor other systems, the temporary files may be stored someplace else;
 | |
| Xsee the version-specific section of the documentation.
 | |
| X.IP tags
 | |
| XThis is the database used by the \fI:tags\fP command and the \fB-t\fP option.
 | |
| XIt is usually created by the \fIctags(1)\fP program.
 | |
| X.IP ".exrc or elvis.rc"
 | |
| XOn UNIX-like systems, a file called ".exrc" in your home directory
 | |
| Xis executed as a series of \fIex\fR commands.
 | |
| XA file by the same name may be executed in the current directory, too.
 | |
| XOn non-UNIX systems, ".exrc" is usually an invalid file name;
 | |
| Xthere, the initialization file is called "elvis.rc" instead.
 | |
| X.SH "SEE ALSO"
 | |
| Xctags(1), ref(1), virec(1)
 | |
| X.PP
 | |
| X\fIElvis - A Clone of Vi/Ex\fP, the complete \fIelvis\fP documentation.
 | |
| X.SH BUGS
 | |
| XThere is no LISP support.
 | |
| XCertain other features are missing, too.
 | |
| X.PP
 | |
| XAuto-indent mode is not quite compatible with the real vi.
 | |
| XAmong other things, 0^D and ^^D don't do what you might expect.
 | |
| X.PP
 | |
| XLong lines are displayed differently.
 | |
| XThe real vi wraps long lines onto multiple rows of the screen,
 | |
| Xbut \fIelvis\fP scrolls sideways.
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| X.PP
 | |
| XMany other people have worked to port \fIelvis\fP to various operating systems.
 | |
| XTo see who deserves credit, run the \fI:version\fP command from within \fIelvis\fP,
 | |
| Xor look in the system-specific section of the complete documentation.
 | |
| /
 | |
| echo x - elvprsv.man
 | |
| sed '/^X/s///' > elvprsv.man << '/'
 | |
| X.TH ELVPRSV 1
 | |
| X.SH NAME
 | |
| Xelvprsv - Preserve the the modified version of a file after a crash.
 | |
| X.SH SYNOPSIS
 | |
| X.nf
 | |
| X\fB\fBelvprsv\fP ["-\fIwhy elvis died\fP"] /tmp/\fIfilename\fP...
 | |
| X\fB\fBelvprsv\fP -R /tmp/\fIfilename\fP...
 | |
| X.fi
 | |
| X.SH DESCRIPTION
 | |
| X.PP
 | |
| X\fIelvprsv\fP preserves your edited text after \fIelvis\fP dies.
 | |
| XThe text can be recovered later, via the \fIelvprsv\fP program.
 | |
| X.PP
 | |
| XFor UNIX-like systems,
 | |
| Xyou should never need to run this program from the command line.
 | |
| XIt is run automatically when \fIelvis\fP is about to die,
 | |
| Xand it should be run (via /etc/rc) when the computer is booted.
 | |
| XTHAT'S ALL!
 | |
| X.PP
 | |
| XFor non-UNIX systems such as MS-DOS, you can either use \fIelvprsv\fP
 | |
| Xthe same way as under UNIX systems (by running it from your AUTOEXEC.BAT file),
 | |
| Xor you can run it separately with the "-R" flag to recover the files
 | |
| Xin one step.
 | |
| X.PP
 | |
| XIf you're editing a file when \fIelvis\fP dies
 | |
| X(due to a bug, system crash, power failure, etc.)
 | |
| Xthen \fIelvprsv\fP will preserve the most recent version of your text.
 | |
| XThe preserved text is stored in a special directory; it does NOT overwrite
 | |
| Xyour text file automatically.
 | |
| X.PP
 | |
| X\fIelvprsv\fP will send mail to any user whose work it preserves,
 | |
| Xif your operating system normally supports mail.
 | |
| X.SH FILES
 | |
| X.IP /tmp/elv*
 | |
| XThe temporary file that \fIelvis\fP was using when it died.
 | |
| X.IP /usr/preserve/p*
 | |
| XThe text that is preserved by \fIelvprsv\fP.
 | |
| X.IP /usr/preserve/Index
 | |
| XA text file which lists the names of all preserved files, and the names
 | |
| Xof the /usr/preserve/p* files which contain their preserved text.
 | |
| X.SH BUGS
 | |
| X.PP
 | |
| XDue to the permissions on the /usr/preserve directory, on UNIX systems
 | |
| X\fIelvprsv\fP must be run as superuser.
 | |
| XThis is accomplished by making the \fIelvprsv\fP executable be owned by "root"
 | |
| Xand turning on its "set user id" bit.
 | |
| X.PP
 | |
| XIf you're editing a nameless buffer when \fIelvis\fP dies, then \fIelvprsv\fP will pretend
 | |
| Xthat the file was named "foo".
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| /
 | |
| echo x - elvrec.man
 | |
| sed '/^X/s///' > elvrec.man << '/'
 | |
| X.TH ELVREC 1
 | |
| X.SH NAME
 | |
| Xelvrec - Recover the modified version of a file after a crash
 | |
| X.SH SYNOPSIS
 | |
| X.nf
 | |
| X\fBelvrec\fP [\fIpreservedfile\fP [\fInewfile\fR]]
 | |
| X.fi
 | |
| X.SH DESCRIPTION
 | |
| X.PP
 | |
| XIf you're editing a file when \fIelvis\fP dies, the system crashes, or power fails,
 | |
| Xthe most recent version of your text will be preserved.
 | |
| XThe preserved text is stored in a special directory; it does NOT overwrite
 | |
| Xyour text file automatically.
 | |
| X.PP
 | |
| XThe \fIelvrec\fP program locates the preserved version of a given file,
 | |
| Xand writes it over the top of your text file -- or to a new file, if you prefer.
 | |
| XThe recovered file will have nearly all of your changes.
 | |
| X.PP
 | |
| XTo see a list of all recoverable files, run \fIelvrec\fP with no arguments.
 | |
| X.SH FILES
 | |
| X.IP /usr/preserve/p*
 | |
| XThe text that was preserved when \fIelvis\fP died.
 | |
| X.IP /usr/preserve/Index
 | |
| XA text file which lists the names of all preserved files, and the names
 | |
| Xof the /usr/preserve/p* files which contain their preserved text.
 | |
| X.SH BUGS
 | |
| X.PP
 | |
| X\fIelvrec\fP is very picky about filenames.
 | |
| XYou must tell it to recover the file using exactly the same pathname as
 | |
| Xwhen you were editing it.
 | |
| XThe simplest way to do this is to go into the same directory that you were
 | |
| Xediting, and invoke \fIelvrec\fP with the same filename as \fIelvis\fP.
 | |
| XIf that doesn't work, then try running \fIelvrec\fP with no arguments,
 | |
| Xto see exactly which pathname it is using for the desired file.
 | |
| X.PP
 | |
| XDue to the permissions on the /usr/preserve directory, on UNIX systems
 | |
| X\fIelvrec\fP must be run as superuser.
 | |
| XThis is accomplished by making the \fIelvrec\fP executable be owned by "root"
 | |
| Xand setting its "set user id" bit.
 | |
| X.PP
 | |
| XIf you're editing a nameless buffer when \fIelvis\fP dies, then \fIelvrec\fP
 | |
| Xwill pretend that the file was named "foo".
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| /
 | |
| echo x - fmt.man
 | |
| sed '/^X/s///' > fmt.man << '/'
 | |
| X.TH FMT 1
 | |
| X.SH NAME
 | |
| Xfmt - adjust line-length for paragraphs of text
 | |
| X.SH SYNOPSIS
 | |
| X\fBfmt\fP [\-\fIwidth\fP] [\fIfiles\fP]...
 | |
| X.SH DESCRIPTION
 | |
| X\fIfmt\fR is a simple text formatter.
 | |
| XIt inserts or deletes newlines, as necessary, to make all lines in a
 | |
| Xparagraph be approximately the same width.
 | |
| XIt preserves indentation and word spacing.
 | |
| X.PP
 | |
| XThe default line width is 72 characters.
 | |
| XYou can override this with the \-\fIwidth\fR flag.
 | |
| XIf you don't name any files on the command line,
 | |
| Xthen \fIfmt\fR will read from stdin.
 | |
| X.PP
 | |
| XIt is typically used from within \fIvi\fR to adjust the line breaks
 | |
| Xin a single paragraph.
 | |
| XTo do this, move the cursor to the top of the paragraph,
 | |
| Xtype "!}fmt", and
 | |
| Xhit <Return>.
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| /
 | |
| echo x - ref.man
 | |
| sed '/^X/s///' > ref.man << '/'
 | |
| X.TH REF 1
 | |
| X.SH NAME
 | |
| Xref - Display a C function header
 | |
| X.SH SYNOPSIS
 | |
| X\fBref\fR [-t] [-c \fIclass\fR]... [-f \fIfile\fR]... \fItag\fR
 | |
| X.SH DESCRIPTION
 | |
| X\fIref\fP quickly locates and displays the header of a function.
 | |
| XTo do this, \fIref\fR
 | |
| Xlooks in the "tags" file for the line that describes the function, and then 
 | |
| Xscans the source file for the function.
 | |
| XWhen it locates the function, it displays an introductory comment
 | |
| X(if there is one), the function's declaration, and the declarations of all
 | |
| Xarguments.
 | |
| X.SH "SEARCH METHOD"
 | |
| X.PP
 | |
| X\fIref\fR uses a fairly sophisticated tag look-up algorithm.
 | |
| XIf you supply a filename via \fB-f\fR \fIfile\fR, then elvis first scans
 | |
| Xthe tags file for a static tag from that file.
 | |
| XThis search is limited to the tags file in the current directory.
 | |
| X.PP
 | |
| XIf you supply a classname via \fB-c\fR \fIclass\fR, then elvis searches
 | |
| Xfor a tag from that class.
 | |
| XThis search is not limited to the current directory;
 | |
| XYou can supply a list of directories in the environment variable \fITAGPATH\fR,
 | |
| Xand \fIref\fR will search through the "tags" file in each directory until it finds
 | |
| Xa tag in the desired class.
 | |
| X.PP
 | |
| XIf that fails, \fIref\fR will then try to look up an ordinary global tag.
 | |
| XThis search checks all of the directories listed in \fITAGPATH\fR, too.
 | |
| X.PP
 | |
| XIf you've given the \fB-t\fR flag, then \fIref\fR will simply output the tag line that
 | |
| Xit found, and then exit.
 | |
| XWithout \fB-t\fR, though, \fIref\fR will search for the tag line.
 | |
| XIt will try to open the source file, which should be in the same directory
 | |
| Xas the tags file where the tag was discovered.
 | |
| XIf the source file doesn't exist, or is unreadable, then \fIref\fR will try to open
 | |
| Xa file called "\fIrefs\fR" in that directory.
 | |
| XEither way, \fIref\fR will try to locate the tag, and display whatever it finds.
 | |
| X.SH "INTERACTION WITH ELVIS"
 | |
| X.PP
 | |
| X\fIref\fP is used by \fIelvis\fR' shift-K command.
 | |
| XIf the cursor is located on a word such as "splat", in the file "foo.c",
 | |
| Xthen \fIelvis\fR will invoke \fIref\fR with the command "ref -f foo.c splat".
 | |
| X.PP
 | |
| XIf \fIelvis\fR has been compiled with the -DEXTERNAL_TAGS flag, then \fIelvis\fR will
 | |
| Xuse \fIref\fR \fB\fRto scan the tags files.
 | |
| XThis is slower than the built-in tag searching, but it allows \fIelvis\fR to access
 | |
| Xthe more sophisticated tag lookup provided by \fIref\fR.
 | |
| XOther than that, external tags should act exactly like internal tags.
 | |
| X.SH OPTIONS
 | |
| X.IP \fB-t\fR
 | |
| XOutput tag info, instead of the function header.
 | |
| X.IP "\fB-f\fR \fIfile\fR"
 | |
| XThe tag might be a static function in \fIfile\fR.
 | |
| XYou can use several -f flags to have \fIref\fR consider static tags from more than one file.
 | |
| X.IP "\fB-c\fR \fIclass\fR"
 | |
| XThe tag might be a member of class \fIclass\fR.
 | |
| XYou can use several -c flags to have \fIref\fR consider tags from more than one class.
 | |
| X.SH FILES
 | |
| X.IP \fBtags\fR
 | |
| XList of function names and their locations, generated by \fIctags\fR.
 | |
| X.IP \fBrefs\fR
 | |
| XFunction headers extracted from source files (optional).
 | |
| X.SH ENVIRONMENT
 | |
| X.IP \fBTAGPATH\fR
 | |
| XList of directories to be searched.
 | |
| XThe elements in the list are separated by either
 | |
| Xsemicolons (for MS-DOS, Atari TOS, and AmigaDos), or
 | |
| Xby colons (every other operating system).
 | |
| XFor each operating system, \fIref\fR has a built-in default which is probably
 | |
| Xadequate.
 | |
| X.SH NOTES
 | |
| X.PP
 | |
| XYou might want to generate a "tags" file the directory that contains the
 | |
| Xsource code for standard C library on your system.
 | |
| XIf licensing restrictions prevent you from making the library source readable
 | |
| Xby everybody, then you can have \fIctags\fR generate a "refs" file,
 | |
| Xand make "refs" readable by everybody.
 | |
| X.PP
 | |
| XIf your system doesn't come with the library source code, then perhaps you
 | |
| Xcan produce something workable from the \fIlint\fR libraries.
 | |
| X.SH "SEE ALSO"
 | |
| Xelvis(1), ctags(1)
 | |
| X.SH AUTHOR
 | |
| X.nf
 | |
| XSteve Kirkendall
 | |
| Xkirkenda@cs.pdx.edu
 | |
| X.fi
 | |
| /
 | 
