unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

ex(1)                            User Commands                           ex(1)



NAME
       ex - text editor

SYNOPSIS
       /usr/bin/ex  [  -|  -s]  [-l] [-L] [-R] [ -r [file]] [-t tag] [-v] [-V]
       [-x] [-wn] [-C] [+command | -c command]  file...

       /usr/xpg4/bin/ex [ -| -s] [-l] [-L] [-R] [  -r  [file]]  [-t tag]  [-v]
       [-V] [-x] [-wn] [-C] [+command | -c command]  file...

       /usr/xpg6/bin/ex  [  -|  -s]  [-l] [-L] [-R] [ -r [file]] [-t tag] [-v]
       [-V] [-x] [-wn] [-C] [+command | -c command]  file...

DESCRIPTION
       The ex utility is the root of a family of editors: ex and vi. ex  is  a
       superset  of  ed(1),  with  the  most notable extension being a display
       editing facility. Display based editing is the focus of vi.

       If you have a CRT terminal, you can wish to use a display based editor;
       in  this  case  see vi(1), which is a command which focuses on the dis-
       play-editing portion of ex.

       If you have used ed you find that, in addition to having all of the  ed
       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 does, and uses the terminal  capabil-
       ity  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 the
       vi command.

       The ex utility 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 (CTRL-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.

       The ex utility gives you help when you make mistakes. The undo (u) com-
       mand allows you to reverse any single  change  which  goes  astray.  ex
       gives you a lot of feedback, normally printing changed lines, and indi-
       cates 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 com-
       mand (or -r file option) to retrieve your work. This gets you  back  to
       within a few lines of where you left off.

       The ex utility 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 file names, or a pattern as used by  the  shell
       to  specify a new set of files to be dealt with. In general, file names
       in the editor can be formed with full shell metasyntax. The metacharac-
       ter  `%' is also available in forming file names and is replaced by the
       name of the current file.

       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 which 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 substitu-
       tions. ex also allows regular expressions which match words to be  con-
       structed.  This  is  convenient, for example, in searching for the word
       ``edit'' if your document also contains the word ``editor.''

       ex has a set of options which you can set to tailor it to your  liking.
       One  option  which  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
       <&lt; and >&gt; which shift groups of lines, and the ability to filter portions
       of the buffer through commands such as sort.

OPTIONS
       The following options are supported:

       - | -s                  Suppresses  all interactive user feedback. This
                               is useful when processing editor scripts.



       -l                      Sets up for editing LISP programs.



       -L                      Lists the name of all files saved as the result
                               of an editor or system crash.



       -R                      Readonly  mode.  The readonly flag is set, pre-
                               venting accidental overwriting of the file.



       -r file                 Edits file after an  editor  or  system  crash.
                               (Recovers  the  version of file that was in the
                               buffer when the crash occurred.)



       -t tag                  Edits the file containing the tag and positions
                               the editor at its definition. It is an error to
                               specify more than one -t option.



       -v                      Starts up in display editing state,  using  vi.
                               You  can  achieve the same effect by typing the
                               vi command itself.



       -V                      Verbose. When ex commands are read by means  of
                               standard input, the input is echoed to standard
                               error. This can be useful  when  processing  ex
                               commands within shell scripts.



       -x                      Encryption  option. Simulates the X command and
                               prompts the user for a key. This key is used to
                               encrypt and decrypt text using the algorithm of
                               the crypt command. The X command makes an  edu-
                               cated  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.



       -wn                     Sets the default window size to n. This is use-
                               ful  when  using  the  editor over a slow speed
                               line.



       -C                      Encryption  option.  Same  as  the  -x  option,
                               except  that  -C simulates the C command. The C
                               command is like the X command, except that  all
                               text read in is assumed to have been encrypted.



       +command | -c command   Begins  editing by executing the specified edi-
                               tor command (usually a  search  or  positioning
                               command).



       /usr/xpg4/bin/ex, /usr/xpg6/bin/ex

           If both the -t tag and the -c command options are given, the -t tag
           is processed first.  That  is,  the  file  containing  the  tag  is
           selected by -t and then the command is executed.



OPERANDS
       The following operand is supported:

       file            A path name of a file to be edited.



USAGE
       This section defines the ex states, commands, initializing options, and
       scanning pattern formations.

   ex States
       Command         Normal and initial state. Input prompted  for  by  ":".
                       The 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-\).



   ex Command Names and Abbreviations
       Command    Abbrevi-   Command    Abbrevi-    Command    Abbrevi-
       Name       ation      Name       ation       Name       ation

       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

   Join Command Arguments
       Join     [range] j[oin][!] [count] [flags]

       If count is specified:

       /usr/bin/ex, /usr/xpg6/bin/ex

           If no address is specified, the join command behaves  as  if  2addr
           were  the  current  line  and  the  current  line plus count (.,. +
           count). If one address is specified, the join command behaves as if
           2addr  were  the  specified  address and the specified address plus
           count ( addr, addr + count).



       /usr/xpg4/bin/ex

           If no address is specified, the join command behaves  as  if  2addr
           were  the  current  line  and the current line plus count -1 (.,. +
           count -1). If one address is specified, the join command behaves as
           if  2addr were the specified address and the specified address plus
           count -1 ( addr, addr + count -1).



       /usr/bin/ex, /usr/xpg4/bin/ex, /usr/xpg6/bin/ex

           If two or more addresses are specified, the join command behaves as
           if  an  additional address, equal to the last address plus count -1
           (addr1, ..., lastaddr, lastaddr + count  -1),  was  specified.   If
           this  results in a second address greater than the last line of the
           edit buffer, it is corrected to be equal to the last  line  of  the
           edit buffer.



       If no count is specified:

       /usr/bin/ex, /usr/xpg4/bin/ex, /usr/xpg6/bin/ex

           If  no  address  is specified, the join command behaves as if 2addr
           were the current line and the next line (.,. +1). If one address is
           specified,  the join command behaves as if 2addr were the specified
           address and the next line ( addr, addr +1).



   Additional ex Command Arguments
       /usr/bin/ex, /usr/xpg6/bin/ex

           For the following ex commands, if count is specified, it is equiva-
           lent  to specifying an additional address to the command. The addi-
           tional address is equal to the last address specified to  the  com-
           mand  (either  explicitly  or  by  default)  plus  count-1. If this
           results in an address greater than the last line of the  edit  buf-
           fer, it is corrected to equal the last line of the edit buffer.



       /usr/xpg4/bin/ex

           For  the  following  ex  commands,  if both a count and a range are
           specified for a  command  that  uses  them,  the  number  of  lines
           affected  is  taken from the count value rather than the range. The
           starting line for the  command  is  taken  to  be  the  first  line
           addressed by the range.




       tab();   lw(1.375000i)   lw(4.125000i).   Abbreviateab[brev]  word  rhs
       Append[line]a[ppend][!]   Argumentsar[gs]   Change[range]   c[hange][!]
       [count] Change DirectoryT{ chd[ir][!] [directory]; cd[!] [directory] T}
       CopyT{ [range] co[py] line [flags]; [range] t line [flags] T}  DeleteT{
       [range]   d[elete]   [buffer]   [count]  [flags]  T}  EditT{  e[dit][!]
       [+line][file]; ex[!]  [+line]  [file]  T}  Filef[ile]  [file]  GlobalT{
       [range]  g[lobal]  /pattern/ [commands]; [range] v /pattern/ [commands]
       T}  Insert[line]  i[nsert][!]   List[range]  l[ist]   [count]   [flags]
       Mapmap[!]  [x  rhs]  Mark[line] ma[rk] x; [line] k x Move[range] m[ove]
       line Nextn[ext][!] [file ...]  Open[line] o[pen] /pattern/ [flags] Pre-
       servepre[serve]  Put[line]  pu[t]  [buffer]  Quitq[uit][!]   Read[line]
       r[ead][!] [file] Recoverrec[over] file Rewindrew[ind][!]   SetT{  se[t]
       [option[=[value]]...]  [nooption...] [option?...] [all] T} Shellsh[ell]
       Sourceso[urce]   file   Suspendsu[spend][!];   st[op][!]    Tagta[g][!]
       tagstring  Unabbreviateuna[bbrev]  word  Undou[ndo]  Unmapunm[ap][!]  x
       VisualT{ [line] v[isual] [type]  [count]  [flags]  T}  WriteT{  [range]
       w[rite][!]  [>>]  [file]; [range] w[rite][!] [file]; [range] wq[!] [>>]
       [file] T} Write and  Exit[range]  x[it][!]  [file]  Yank[range]  ya[nk]
       [buffer]  [count]  Adjust Window[line] z [type] [count] [flags] Escape!
       command [range]! command ScrollEOF Write Line  Number[line]  =  [flags]
       Execute@ buffer; * buffer


       /usr/bin/ex, /usr/xpg4/bin/ex, /usr/xpg6/bin/ex

           For the following ex commands, if count is specified, it is equiva-
           lent to specifying an additional address to the command. The  addi-
           tional  address  is equal to the last address specified to the com-
           mand (either explicitly  or  by  default)  plus  count-1.  If  this
           results  in  an address greater than the last line of the edit buf-
           fer, it is corrected to equal the last line of the edit buffer.




       tab(); lw(1.375000i) lw(4.125000i).  NumberT{ [range] nu[mber]  [count]
       [flags];   [range]   |                          #  [count]  [flags]  T}
       Print[range] p[rint] [count] [flags] SubstituteT{ [range]  s[ubstitute]
       [/pattern/repl/[options]  [count]  [flags]]  T}  Shift LeftT{ [range] <
       [count] [flags] T} Shift Right[range] > [count] [flags]  ResubstituteT{
       [range]  &  [options]  [count]  [flags]; [range] s[ubstitute] [options]
       [count] [flags]; [range] ~ [options] [count [flags] T}


   ex Commands
       tab();  lw(1.100000i)  lw(4.400000i).   Cforced  encryption  Xheuristic
       encryption  &&amp;resubst  CRprint  next  >&gt;rshift  <&lt;lshift  ^Dscroll zwindow
       !shell escape


   ex Command Addresses
       tab(); lw(1.100000i) lw(4.400000i).  nline n .current $last +next -pre-
       vious  +nn  forward  %1,$  /patnext with pat ?patprevious with pat x-nn
       before x x,yx through y 'xmarked with x "previous context


   Initializing Options
       tab(); lw(1.375000i) lw(4.125000i).  EXINITT{ place set's here in envi-
       ronment variable T} $HOME/.exrceditor initialization file ./.exrceditor
       initialization file set xenable option x set noxdisable  option  x  set
       x=valgive value val to option x setshow changed options set allshow all
       options set x?show value of option x


   Useful Options and Abbreviations
       tab(); lw(1.134921i) lw(0.873016i)  lw(3.492063i).   autoindentaisupply
       indent  autowriteawwrite  before changing files directoryT{ pathname of
       directory for temporary work files T} exrcexT{ 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  $HOMEdirectory.   T}  ignorecase-
       icignore  case of letters in scanning listT{ print ^I for tab, $ at end
       T} magictreat . [ * special in patterns modelinesT{  first  five  lines
       and  last five lines executed as vi/ex commands if they are of the form
       ex:command: or vi:command: T} numbernunumber lines  paragraphsparamacro
       names  that  start  paragraphs  redrawsimulate  smart terminal reportT{
       informs you if the number of lines modified  by  the  last  command  is
       greater  than  the  value  of the report variable T} scrollcommand mode
       lines sectionssectmacro names that start sections shiftwidthswT{ for  <&lt;
       >&gt;,  and  input  ^D  T}  showmatchsmto  ) and } as typed showmodesmdshow
       insert mode in  vi slowopenslowstop updates during insert termT{ speci-
       fies to vi the type of terminal being used (the default is the value of
       the environment variable TERM) T} windowvisual mode  lines  wrapmargin-
       wmautomatic  line  splitting  wrapscanwsT{ search around end (or begin-
       ning) of buffer T}


   Scanning Pattern Formation
       tab(); lw(1.100000i) lw(4.400000i).  ^beginning of line  $end  of  line
       .any  character \<&lt;beginning of word \>&gt;end of word [str]any character in
       str [^str]any character not in str [xy]any character between  x  and  y
       *any number of preceding characters


ENVIRONMENT VARIABLES
       See  environ(5) for descriptions of the following environment variables
       that affect the  execution  of  ex:  HOME,  LANG,  LC_ALL,  LC_COLLATE,
       LC_CTYPE, LC_MESSAGES, NLSPATH, PATH, SHELL, and TERM.

       COLUMNS         Override the system-selected horizontal screen size.



       EXINIT          Determine  a  list  of ex commands that are executed on
                       editor start-up, before reading  the  first  file.  The
                       list  can  contain multiple commands by separating them
                       using a vertical-line (|) character.



       LINES           Override the system-selected vertical screen size, used
                       as  the number of lines in a screenful and the vertical
                       screen size in visual mode.



EXIT STATUS
       The following exit values are returned:

       0        Successful completion.



       >&gt;0       An error occurred.



FILES
       /var/tmp/Exnnnnn                editor temporary



       /var/tmp/Rxnnnnn                named buffer temporary



       /usr/lib/expreserve             preserve command



       /usr/lib/exrecover              recover command



       /usr/lib/exstrings              error messages



       /usr/share/lib/terminfo/*       describes capabilities of terminals



       /var/preserve/login             preservation directory (where login  is
                                       the user's login)



       $HOME/.exrc                     editor startup file



       ./.exrc                         editor startup file



ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

   /usr/bin/ex
       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE   VALUE   AvailabilitySUNWcsu
       CSIEnabled


   /usr/xpg4/bin/ex
       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE  VALUE   AvailabilitySUNWxcu4
       CSIEnabled Interface StabilityStandard


   /usr/xpg6/bin/ex
       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE  TYPEATTRIBUTE  VALUE   AvailabilitySUNWxcu6
       CSIEnabled Interface StabilityStandard


SEE ALSO
       ed(1),  edit(1),  grep(1),  sed(1),  sort(1),  vi(1),  curses(3CURSES),
       term(4), terminfo(4), attributes(5), environ(5), standards(5)

       Solaris Advanced User's Guide

AUTHOR
       The vi and ex utilities are based on software developed by The  Univer-
       sity  of  California,  Berkeley  California, Computer Science Division,
       Department of Electrical Engineering and Computer Science.

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.

       The message file too large to recover with -r  option,  which  is  seen
       when  a file is loaded, indicates that the file can be edited and saved
       successfully, but if the editing session is lost, recovery of the  file
       with the -r option is not possible.

       The  z command prints the number of logical rather than physical lines.
       More than a screen full of output can result if long lines are present.

       File input/output errors do not print a name if  the  command  line  -s
       option is used.

       The editing environment defaults to certain configuration options. When
       an editing session is initiated, ex attempts to read the  EXINIT  envi-
       ronment  variable.  If it exists, the editor uses the values defined in
       EXINIT,  otherwise  the  values  set  in  $HOME/.exrc  are   used.   If
       $HOME/.exrc does not exist, the default values are used.

       To  use  a  copy  of  .exrc located in the current directory other than
       $HOME, set the exrc option in EXINIT or  $HOME/.exrc.  Options  set  in
       EXINIT can be turned off in a local .exrc only if exrc is set in EXINIT
       or $HOME/.exrc. In order to be used, .exrc  in  $HOME  or  the  current
       directory must fulfill these conditions:

         o  It must exist.

         o  It  must  be  owned  by  the same userid as the real userid of the
            process, or the process has appropriate privileges.

         o  It is not writable by anyone other than the owner.


       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.



SunOS 5.10                        15 Jun 2004                            ex(1)