From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (qmail 312 invoked from network); 17 Dec 1998 20:30:36 -0000 Received: from mail.redhat.com (199.183.24.239) by lists.redhat.com with SMTP; 17 Dec 1998 20:30:36 -0000 Received: from europe.std.com (europe.std.com [199.172.62.20]) by mail.redhat.com (8.8.7/8.8.7) with ESMTP id PAA18736 for ; Thu, 17 Dec 1998 15:20:34 -0500 Received: from world.std.com by europe.std.com (8.7.6/BZS-8-1.0) id PAA20750; Thu, 17 Dec 1998 15:20:34 -0500 (EST) Received: by world.std.com (TheWorld/Spike-2.0) id AA09864; Thu, 17 Dec 1998 15:20:33 -0500 Date: Thu, 17 Dec 1998 15:20:33 -0500 From: lark@world.std.com (Lar Kaufman) Message-Id: <199812172020.AA09864@world.std.com> To: blinux-list@redhat.com Subject: ex manpage List-Id: ex(1) ex(1) NAME ex - text editor SYNOPSIS ex [-s] [-l] [-L] [-R] [-r file] [-t tag] [-v] [-V] [-x] [-C] [+ command] [-c command] [-w size] file ... DESCRIPTION ex is the root of a family of editors: ex and vi. ex is a superset of ed, with the most notable extension being a display editing facility. Display based editing is the focus of vi. If you use a window or a CRT terminal, you may wish to use the vi(1) editor, which focuses on the display-editing portion of ex. For ed Users If you have used ed(1) you will find that, in addition to having all of the ed(1) commands available, ex has a number of additional features useful on CRT terminals. Intelligent terminals and high speed terminals are very pleasant to use with vi. Generally, the ex editor uses far more of the capabilities of terminals than ed(1) does and uses the terminal capability data base (see terminfo(4)) and the type of the terminal you are using from the environment variable TERM to determine how to drive your terminal efficiently. The editor makes use of features such as insert and delete character and line in its visual command (which can be abbreviated vi) and which is the central mode of editing when using vi(1). ex contains a number of features for easily viewing the text of the file. The z command gives easy access to windows of text. Typing ^D (control- d) causes the editor to scroll a half-window of text and is more useful for quickly stepping through a file than just typing return. Of course, the screen-oriented visual mode gives constant access to editing context. ex gives you help when you make mistakes. The undo (u) command allows you to reverse any single change that goes astray. ex gives you a lot of feedback, normally printing changed lines, and indicates when more than a few lines are affected by a command so that it is easy to detect when a command has affected more lines than it should have. The editor also normally prevents overwriting existing files, unless you edited them, so that you do not accidentally overwrite a file other than the one you are editing. If the system (or editor) crashes, or you accidentally hang up the telephone, you can use the editor recover command (or -r file option) to retrieve your work. This gets you back to within a few lines of where you left off. ex has several features for dealing with more than one file at a time. You can give it a list of files on the command line and use the next (n) command to deal with each in turn. The next command can also be given a list of filenames, or a pattern as used by the shell to specify a new set of files to be dealt with. In general, filenames in the editor can be Page 1 ex(1) ex(1) formed with full shell metasyntax. The metacharacter % is also available in forming filenames and is replaced by the name of the current file. For editing large groups of related files you can use ex's tag command to quickly locate functions and other important points in any of the files. This is useful when working on a large program when you want to quickly find the definition of a particular function. The ctags(1) utility builds a tags file for C, Pascal, and FORTRAN programs. The editor has a group of buffers whose names are the ASCII lower-case letters (a-z). You can place text in these named buffers where it is available to be inserted elsewhere in the file. The contents of these buffers remain available when you begin editing a new file using the edit (e) command. There is a command & in ex that repeats the last substitute command. In addition, there is a confirmed substitute command. You give a range of substitutions to be done and the editor interactively asks whether each substitution is desired. It is possible to ignore the case of letters in searches and substitutions. ex also allows regular expressions that match words to be constructed. This is convenient, for example, in searching for the word edit if your document also contains the word editor. See the regcomp(5) man page for information about using the regular expression syntax. This version of ex is X/Open compliant and uses the X/Open defined regular expression syntax. ex has a set of options that you can set to tailor it to your liking. One option that is very useful is the autoindent option that allows the editor to supply leading white space to align text automatically. You can then use ^D as a backtab and space or tab to move forward to align new code easily. Miscellaneous useful features include an intelligent join (j) command that supplies white space between joined lines automatically, commands < and > that shift groups of lines, and the ability to filter portions of the buffer through commands such as sort(1). Invocation Options The following invocation options are interpreted by ex (previously documented options are discussed in the NOTES section at the end of this manual page): -s Suppress all interactive-user feedback. This is useful in processing editor scripts. -l Set lisp mode; indents appropriately for Lisp code; the (), {}, [[ and ]] commands in visual mode are modified to have meaning for Lisp. Page 2 ex(1) ex(1) -L List the names of all files saved as the result of an editor or system crash. -R Readonly mode; the readonly flag is set, preventing accidental overwriting of the file. -r file Edit file after an editor or system crash. (Recovers the version of file that was in the buffer when the crash occurred.) -t tag Edit the file containing the tag and position the editor at its definition. -v Invoke vi. -x Encryption option; when used, ex simulates an X command and prompts the user for a key. This key is used to encrypt and decrypt text using the algorithm of crypt(1). The X command makes an educated guess to determine whether text read in is encrypted or not. The temporary buffer file is encrypted also, using a transformed version of the key typed in for the -x option. See crypt(1). -C Encryption option; the same as the -x option, except that ex simulates a C command. The C command is like the X command, except that all text read in is assumed to have been encrypted. + command Begin editing by executing the specified ex command-mode commands. As with normal editing command-line entries, the command option-argument can consist of multiple ex commands separated by vertical-line characters (|). The use of commands that enter input or visual modes in this manner produces undefined results. -w size Set the value of the window editor option to size. -c command Begin editing by executing the specified editor command (usually a search or positioning command). The file argument indicates one or more files to be edited. ex States Command Normal and initial state. Input prompted for by :. Your line kill character cancels a partial command. Insert Entered by a, i, or c. Arbitrary text can be entered. Insert state normally is terminated by a line having only "." on it, or, abnormally, with an interrupt. Visual Entered by typing vi; terminated by typing Q or ^\ (control-\). Page 3 ex(1) ex(1) ex Command Names and Abbreviations abbrev ab map set se append a mark ma shell sh args ar move m source so change c next n substitute s copy co number nu unabbrev unab delete d preserve pre undo u edit e print p unmap unm file f put pu version ve global g quit q visual vi insert i read r write w join j recover rec xit x list l rewind rew yank ya ex Commands shell escape ! forced encryption C heuristic encryption X lshift < print next CR resubst & rshift > scroll ^D window z ex Command Addresses n line n /pat next with pat . current ?pat previous with pat $ last x-n n before x + next x,y x through y - previous 'x marked with x +n n forward '' previous context % 1,$ Initializing options EXINIT place set's here in environment variable $HOME/.exrc editor initialization file ./.exrc editor initialization file set x enable option x set nox disable option x set x=val give value val to option x set show changed options set all show all options set x? show value of option x If the EXINIT environment variable is set, initialization options are taken from that variable. Otherwise, initialization options are taken from $HOME/.exrc, if it exists. Finally, if the exrc option is set (either by EXINIT or $HOME/.exrc,) initialization options are taken from ./.exrc, if it exists. Page 4 ex(1) ex(1) Most useful options and their abbreviations autoindent ai supply indent autowrite aw write before changing files directory pathname of directory for temporary work files exrc ex allow vi/ex to read the .exrc in the current directory; this option is set in the EXINIT shell variable or in the .exrc file in the $HOME directory ignorecase ic ignore case of letters in scanning list print ^I for tab, $ at end magic treat . [ * special in patterns modelines first five lines and last five lines executed as vi/ex commands if they are of the form ex:command: or vi:command: number nu number lines paragraphs para macro names that start paragraphs redraw simulate smart terminal report informs you if the number of lines modified by the last command is greater than the value of the report variable scroll command mode lines sections sect macro names that start sections shiftwidth sw for < >, and input ^D showmatch sm to ) and } as typed showmode smd show insert mode in vi slowopen slow stop updates during insert term specifies to vi the type of terminal being used (the default is the value of the environment variable TERM) window visual mode lines wrapmargin wm automatic line splitting wrapscan ws search around end (or beginning) of buffer Scanning pattern formation ^ beginning of line $ end of line . any character \< beginning of word \> end of word [str] any character in str [^str] any character not in str [x-y] any character between x and y * any number of preceding characters FILES /usr/lib/exrecover recover command /usr/lib/expreserve preserve command /usr/share/lib/terminfo/* describes capabilities of terminals $HOME/.exrc editor startup file ./.exrc editor startup file /tmp/Exnnnnn editor temporary /tmp/Rxnnnnn named buffer temporary Page 5 ex(1) ex(1) /usr/preserve/login preservation directory (where login is the user's login name) NOTES Several options, although they continue to be supported, have been replaced in the documentation by options that follow the Command Syntax Standard (see intro(1)). The - option has been replaced by -s, a -r option that is not followed with an option-argument has been replaced by -L, and +command has been replaced by -c command. ex has a limit of 15,687,678 editable lines. Attempts to edit or create files larger than this limit cause ex to terminate with an appropriate error message. SEE ALSO crypt(1), ctags(1), ed(1), edit(1), grep(1), sed(1), sort(1), vi(1), curses(3X), term(4), terminfo(4), regcomp(5). BUGS The z command prints the number of logical rather than physical lines. More than a screen full of output may result if long lines are present. File input/output errors do not print a name if the command line -s option is used. There is no easy way to do a single scan ignoring case. The editor does not warn if text is placed in named buffers and not used before exiting the editor. Null characters are discarded in input files and cannot appear in resultant files. Page 6 "This ain't no party, this ain't no disco, this ain't no fooling around. No time for dancing or lovey-dovey, I ain't got time for that now. I sent a message through the receiver, hope to get an answer someday. Why stay in college? Why go to night school? Thought I'd be different this time." -D. Byrne