Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  ab-
       breviated  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  ac-
       cess 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
       < and > 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,  ex-
			       cept  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  se-
	   lected 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 re-
	   sults in an address greater than the	last line of the edit  buffer,
	   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  af-
	   fected  is  taken  from  the	count value rather than	the range. The
	   starting line for the command is taken to be	 the  first  line  ad-
	   dressed by the range.

       Abbreviate	   ab[brev] word rhs
       Append		   [line]a[ppend][!]
       Arguments	   ar[gs]
       Change		   [range] c[hange][!] [count]
       Change Directory	   chd[ir][!] [directory]; cd[!] [directory]
       Copy		   [range]  co[py]  line  [flags]; [range] t
			   line	[flags]
       Delete		   [range] d[elete] [buffer] [count] [flags]
       Edit		   e[dit][!]  [+line][file];  ex[!]  [+line]
			   [file]
       File		   f[ile] [file]
       Global		   [range]  g[lobal]  /pattern/	 [commands];
			   [range] v /pattern/ [commands]
       Insert		   [line] i[nsert][!]
       List		   [range] l[ist] [count] [flags]
       Map		   map[!] [x rhs]
       Mark		   [line] ma[rk] x; [line] k x
       Move		   [range] m[ove] line
       Next		   n[ext][!] [file ...]
       Open		   [line] o[pen] /pattern/ [flags]
       Preserve		   pre[serve]
       Put		   [line] pu[t]	[buffer]
       Quit		   q[uit][!]
       Read		   [line] r[ead][!] [file]
       Recover		   rec[over] file
       Rewind		   rew[ind][!]
       Set		   se[t] [option[=[value]]...] [nooption...]
			   [option?...]	[all]

       Shell		   sh[ell]
       Source		   so[urce] file
       Suspend		   su[spend][!]; st[op][!]
       Tag		   ta[g][!] tagstring
       Unabbreviate	   una[bbrev] word
       Undo		   u[ndo]
       Unmap		   unm[ap][!] x
       Visual		   [line] v[isual] [type] [count] [flags]
       Write		   [range]  w[rite][!]	[>>] [file]; [range]
			   w[rite][!]  [file];	[range]	 wq[!]	[>>]
			   [file]
       Write and Exit	   [range] x[it][!] [file]
       Yank		   [range] ya[nk] [buffer] [count]
       Adjust Window	   [line] z [type] [count] [flags]
       Escape		   ! command [range]! command
       Scroll		   EOF
       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  re-
	   sults  in an	address	greater	than the last line of the edit buffer,
	   it is corrected to equal the	last line of the edit buffer.

       Number		[range]	nu[mber] [count] [flags]; [range]
			|			     #	  [count]
			[flags]
       Print		[range]	p[rint]	[count]	[flags]
       Substitute	[range]	s[ubstitute]  [/pattern/repl/[op-
			tions] [count] [flags]]
       Shift Left	[range]	< [count] [flags]
       Shift Right	[range]	> [count] [flags]
       Resubstitute	[range]	  &  [options]	[count]	 [flags];
			[range]	 s[ubstitute]  [options]  [count]
			[flags];   [range]   ~	[options]  [count
			[flags]

   ex Commands
       C	     forced encryption
       X	     heuristic encryption
       &	     resubst
       CR	     print next
       >	     rshift
       <	     lshift
       ^D	     scroll
       z	     window
       !	     shell escape

   ex Command Addresses
       n	     line n
       .	     current
       $	     last
       +	     next
       -	     previous
       +n	     n forward
       %	     1,$
       /pat	     next with pat

       ?pat	     previous with pat
       x-n	     n before x
       x,y	     x through y
       'x	     marked with x
       "	     previous context

   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

   Useful Options and 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	 re-
				 port 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 termi-
				 nal 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

       [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.

       >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
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+

   /usr/xpg4/bin/ex
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

   /usr/xpg6/bin/ex
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu6			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

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, De-
       partment	of Electrical Engineering and Computer Science.

NOTES
       Several options,	although they continue to be supported,	have been  re-
       placed  in  the documentation by	options	that follow the	Command	Syntax
       Standard	(see intro(1)).	The - option has been replaced by -s, a	-r op-
       tion  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 op-
       tion 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 EX-
       INIT  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  di-
       rectory 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 re-
       sultant files.

SunOS 5.10			  15 Jun 2004				 ex(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | OPERANDS | USAGE | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SEE ALSO | AUTHOR | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ex&sektion=1&manpath=SunOS+5.10>

home | help