zshoptions - zsh options


SPECIFYING OPTIONS

       Options  are  primarily  referred to by name.  These names
       are case insensitive and  underscores  are  ignored.   For
       example, `allexport' is equivalent to `A__lleXP_ort'.

       The  sense  of an option name may be inverted by preceding
       it with `no', so `setopt No_Beep' is equivalent to  `unse­
       topt  beep'.   This  inversion  can  only be done once, so
       `nonobeep' is not a synonym for `beep'.  Similarly, `tify'
       is   not  a  synonym  for  `nonotify'  (the  inversion  of
       `notify').

       Some options also have one or more  single  letter  names.
       There  are  two sets of single letter options: one used by
       default, and another used to emulate sh/ksh (used when the
       SH_OPTION_LETTERS  option  is  set).   The  single  letter
       options can be used on the shell command line, or with the
       set,  setopt and unsetopt builtins, as normal Unix options
       preceded by `-'.

       The sense of the single letter options may be inverted  by
       using  `+'  instead  of  `-'.   Some  of the single letter
       option names refer to an option being off, in  which  case
       the  inversion of that name refers to the option being on.
       For example, `+n' is the short name of `exec', and `-n' is
       the short name of its inversion, `noexec'.

       In  strings of single letter options supplied to the shell
       at startup, trailing whitespace will be ignored; for exam­
       ple  the string `-f    ' will be treated just as `-f', but
       the string `-f i' is an error.  This is because many  sys­
       tems  which  implement  the  `#!'  mechanism  for  calling
       scripts do not strip trailing whitespace.


DESCRIPTION OF OPTIONS

       In the following list, options set by default in all  emu­
       lations  are marked <D>; those set by default only in csh,
       ksh, sh, or zsh emulations are marked <C>, <K>,  <S>,  <Z>
       as appropriate.  When listing options (by `setopt', `unse­
       topt', `set -o' or `set +o'), those turned on  by  default
       appear  in  the  list  prefixed  with `no'.  Hence (unless
       KSH_OPTION_PRINT is set), `setopt' shows all options whose
       settings are changed from the default.

       ALIASES <D>
              Expand aliases.

       ALL_EXPORT (-a, ksh: -a)
              All  parameters  subsequently defined are automati­
              cally exported.

              If unset, key functions that list  completions  try
              to  return  to  the  last prompt if given a numeric
              argument. If set these functions try to  return  to
              the last prompt if given no numeric argument.

       ALWAYS_TO_END
              If a completion is performed with the cursor within
              a word, and a full completion is inserted, the cur­
              sor  is moved to the end of the word.  That is, the
              cursor is moved to the end of the word if either  a
              single match is inserted or menu completion is per­
              formed.

       APPEND_HISTORY <D>
              If this is set, zsh sessions will append their his­
              tory  list  to  the history file, rather than over­
              write it. Thus, multiple parallel zsh sessions will
              all  have  their history lists added to the history
              file, in the order they are killed.

       AUTO_CD (-J)
              If a command is issued that can't be executed as  a
              normal  command,  and  the command is the name of a
              directory, perform the cd command  to  that  direc­
              tory.

       AUTO_LIST (-9) <D>
              Automatically  list choices on an ambiguous comple­
              tion.

       AUTO_MENU <D>
              Automatically use menu completion after the  second
              consecutive  request for completion, for example by
              pressing the tab key  repeatedly.  This  option  is
              overridden by MENU_COMPLETE.

       AUTO_NAME_DIRS
              Any parameter that is set to the absolute name of a
              directory  immediately  becomes  a  name  for  that
              directory,  that  will  be  used  by  the  `%~' and
              related prompt sequences,  and  will  be  available
              when  completion  is  performed  on a word starting
              with `~'.  (Otherwise, the parameter must  be  used
              in the form `~param' first.)

       AUTO_PARAM_KEYS <D>
              If  a  parameter name was completed and a following
              character   (normally   a   space)    automatically
              inserted,  and  the  next character typed is one of
              those that have to come  directly  after  the  name
              (like  `}',  `:',  etc.),  the  automatically added
              character is deleted, so that the  character  typed
              comes   immediately   after   the  parameter  name.

              larly:  the added character is a `,', which will be
              removed if `}' is typed next.

       AUTO_PARAM_SLASH <D>
              If a parameter is completed whose  content  is  the
              name  of  a  directory,  then  add a trailing slash
              instead of a space.

       AUTO_PUSHD (-N)
              Make cd push the old directory onto  the  directory
              stack.

       AUTO_REMOVE_SLASH <D>
              When the last character resulting from a completion
              is a slash and the next character typed is  a  word
              delimiter, a slash, or a character that ends a com­
              mand (such as a semicolon or an ampersand),  remove
              the slash.

       AUTO_RESUME (-W)
              Treat  single word simple commands without redirec­
              tion as candidates for resumption  of  an  existing
              job.

       BAD_PATTERN (+2) <C> <Z>
              If  a  pattern  for  filename  generation  is badly
              formed, print an error message.  (If this option is
              unset, the pattern will be left unchanged.)

       BANG_HIST (+K) <C> <Z>
              Perform   textual   history  expansion,  csh-style,
              treating the character `!' specially.

       BARE_GLOB_QUAL <Z>
              In a glob pattern, treat a trailing set  of  paren­
              theses  as a qualifier list, if it contains no `|',
              `(' or (if special) `~' characters.  See  the  sec­
              tion `Filename Generation'.

       BASH_AUTO_LIST
              On  an  ambiguous  completion,  automatically  list
              choices when  the  completion  function  is  called
              twice  in  succession.   This takes precedence over
              AUTO_LIST.   The  setting  of   LIST_AMBIGUOUS   is
              respected.  If AUTO_MENU is set, the menu behaviour
              will then start with the third  press.   Note  that
              this   will  not  work  with  MENU_COMPLETE,  since
              repeated completion calls immediately cycle through
              the list in that case.

       BEEP (+B) <D>
              Beep on error in ZLE.

              Run  all background jobs at a lower priority.  This
              option is set by default.

       BRACE_CCL
              Expand expressions in braces which would not other­
              wise undergo brace expansion to a lexically ordered
              list of all the characters.  See the section `Brace
              Expansion'.

       BSD_ECHO <S>
              Make  the  echo  builtin  compatible  with  the BSD
              echo(1) command.  This disables backslashed  escape
              sequences  in  echo strings unless the -e option is
              specified.

       C_BASES
              Output hexadecimal numbers in the standard  C  for­
              mat,  for  example  `0xFF'  instead  of  the  usual
              `16#FF'.  If the option OCTAL_ZEROES  is  also  set
              (it  is  not  by  default),  octal  numbers will be
              treated similarly and hence appear as `077' instead
              of `8#77'.  This option has no effect on the choice
              of the output base, nor  on  the  output  of  bases
              other  than hexadecimal and octal.  Note that these
              formats will be understood on input irrespective of
              the setting of C_BASES.

       CDABLE_VARS (-T)
              If  the  argument to a cd command (or an implied cd
              with the AUTO_CD option set) is  not  a  directory,
              and  does not begin with a slash, try to expand the
              expression as if it were preceded by a `~' (see the
              section `Filename Expansion').

       CHASE_DOTS
              When changing to a directory containing a path seg­
              ment `..' which would otherwise be treated as  can­
              celing  the  previous segment in the path (in other
              words, `foo/..' would be removed from the path,  or
              if  `..'  is  the  first part of the path, the last
              part of $PWD would be deleted), instead resolve the
              path  to  the  physical  directory.  This option is
              overridden by CHASE_LINKS.

              For example, suppose /foo/bar  is  a  link  to  the
              directory  /alt/rod.   Without this option set, `cd
              /foo/bar/..' changes  to  /foo;  with  it  set,  it
              changes  to  /alt.  The same applies if the current
              directory is /foo/bar and `cd ..'  is  used.   Note
              that all other symbolic links in the path will also
              be resolved.

              Resolve symbolic links to their  true  values  when
              changing  directory.   This  also has the effect of
              CHASE_DOTS,  i.e.  a  `..'  path  segment  will  be
              treated  as  referring to the physical parent, even
              if the preceding path segment is a symbolic link.

       CHECK_JOBS <Z>
              Report the status of background and suspended  jobs
              before  exiting  a shell with job control; a second
              attempt   to   exit   the   shell   will   succeed.
              NO_CHECK_JOBS is best used only in combination with
              NO_HUP, else such jobs  will  be  killed  automati­
              cally.

              The  check  is omitted if the commands run from the
              previous command line included  a  `jobs'  command,
              since  it  is  assumed the user is aware that there
              are background or suspended jobs.  A `jobs' command
              run  from  the  precmd  function is not counted for
              this purpose.

       CLOBBER (+C, ksh: +C) <D>
              Allows `>' redirection to truncate existing  files,
              and  `>>'  to create files.  Otherwise `>!' or `>|'
              must be used to truncate a file, and `>>!' or `>>|'
              to create a file.

       COMPLETE_ALIASES
              Prevents  aliases  on  the  command line from being
              internally   substituted   before   completion   is
              attempted.   The effect is to make the alias a dis­
              tinct command for completion purposes.

       COMPLETE_IN_WORD
              If unset, the cursor is set to the end of the  word
              if  completion is started. Otherwise it stays there
              and completion is done from both ends.

       CORRECT (-0)
              Try to correct the spelling of commands.

       CORRECT_ALL (-O)
              Try to correct the spelling of all arguments  in  a
              line.

       CSH_JUNKIE_HISTORY <C>
              A history reference without an event specifier will
              always refer to the previous command.  Without this
              option, such a history reference refers to the same
              event as the previous history reference, defaulting
              to the previous command.

              Allow  loop  bodies  to  take  the form `list; end'
              instead of `do list; done'.

       CSH_JUNKIE_QUOTES <C>
              Changes the rules  for  single-  and  double-quoted
              text  to  match  that  of  csh.  These require that
              embedded  newlines  be  preceded  by  a  backslash;
              unescaped newlines will cause an error message.  In
              double-quoted strings, it  is  made  impossible  to
              escape  `$',  ``'  or `"' (and `\' itself no longer
              needs escaping).  Command  substitutions  are  only
              expanded once, and cannot be nested.

       CSH_NULLCMD <C>
              Do  not  use  the values of NULLCMD and READNULLCMD
              when running redirections with  no  command.   This
              make such redirections fail (see the section `Redi­
              rection').

       CSH_NULL_GLOB <C>
              If  a  pattern  for  filename  generation  has   no
              matches, delete the pattern from the argument list;
              do not report an error unless all the patterns in a
              command have no matches.  Overrides NOMATCH.

       DVORAK Use  the  Dvorak  keyboard  instead of the standard
              qwerty keyboard as a basis for  examining  spelling
              mistakes  for  the  CORRECT and CORRECT_ALL options
              and the spell-word editor command.

       EQUALS <Z>
              Perform = filename  expansion.   (See  the  section
              `Filename Expansion'.)

       ERR_EXIT (-e, ksh: -e)
              If  a  command  has a non-zero exit status, execute
              the ZERR trap, if set, and exit.  This is  disabled
              while running initialization scripts.

       EXEC (+n, ksh: +n) <D>
              Do execute commands.  Without this option, commands
              are read and checked for  syntax  errors,  but  not
              executed.   This  option cannot be turned off in an
              interactive shell, except when `-n' is supplied  to
              the shell at startup.

       EXTENDED_GLOB
              Treat  the  `#',  `~' and `^' characters as part of
              patterns for filename generation, etc.  (An initial
              unquoted `~' always produces named directory expan­
              sion.)

              Save each command's beginning timestamp (in seconds
              since  the  epoch) and the duration (in seconds) to
              the history file.  The format of this prefixed data
              is:

              `:<beginning time>:<elapsed seconds>:<command>'.

       FLOW_CONTROL <D>
              If  this  option  is unset, output flow control via
              start/stop characters (usually assigned  to  ^S/^Q)
              is disabled in the shell's editor.

       FUNCTION_ARGZERO <C> <Z>
              When  executing  a  shell  function  or  sourcing a
              script, set $0 temporarily to the name of the func­
              tion/script.

       GLOB (+F, ksh: +f) <D>
              Perform  filename  generation (globbing).  (See the
              section `Filename Generation'.)

       GLOBAL_EXPORT (<Z>)
              If this option is set, passing the -x flag  to  the
              builtins  declare,  float,  integer,  readonly  and
              typeset (but not local) will also set the -g  flag;
              hence  parameters  exported to the environment will
              not be made local to the enclosing function, unless
              they  were  already or the flag +g is given explic­
              itly.  If the option is unset, exported  parameters
              will  be  made  local  in  just the same way as any
              other parameter.

              This option is set by default for backward compati­
              bility; it is not recommended that its behaviour be
              relied upon.  Note that the builtin  export  always
              sets both the -x and -g flags, and hence its effect
              extends beyond the scope of the enclosing function;
              this  is  the  most  portable  way  to achieve this
              behaviour.

       GLOBAL_RCS (-d) <D>
              If  this  option  is  unset,  the   startup   files
              /etc/zprofile,    /etc/zshrc,    /etc/zlogin    and
              /etc/zlogout will not be run.  It can  be  disabled
              and  re-enabled at any time, including inside local
              startup files (.zshrc, etc.).

       GLOB_ASSIGN <C>
              If this option is set, filename  generation  (glob­
              bing) is performed on the right hand side of scalar
              parameter assignments  of  the  form  `name=pattern
              (e.g.  `foo=*').   If  the result has more than one
              word the parameter will become an array with  those

              backwards compatibility only:  globbing  is  always
              performed  on  the right hand side of array assign­
              ments of the form `name=(value)'  (e.g.  `foo=(*)')
              and this form is recommended for clarity; with this
              option set, it is not possible to  predict  whether
              the result will be an array or a scalar.

       GLOB_COMPLETE
              When  the  current  word has a glob pattern, do not
              insert all the words resulting from  the  expansion
              but  generate  matches  as for completion and cycle
              through them like MENU_COMPLETE.  The  matches  are
              generated  as  if a `*' was added to the end of the
              word,  or  inserted  at  the   cursor   when   COM­
              PLETE_IN_WORD  is  set.  This actually uses pattern
              matching, not globbing, so it works  not  only  for
              files but for any completion, such as options, user
              names, etc.

       GLOB_DOTS (-4)
              Do not require a leading `.' in a  filename  to  be
              matched explicitly.

       GLOB_SUBST <C> <K> <S>
              Treat   any  characters  resulting  from  parameter
              expansion as being eligible for file expansion  and
              filename  generation,  and any characters resulting
              from command substitution  as  being  eligible  for
              filename   generation.    Braces   (and  commas  in
              between) do not become eligible for expansion.

       HASH_CMDS <D>
              Note the location of each command the first time it
              is  executed.   Subsequent  invocations of the same
              command will use the  saved  location,  avoiding  a
              path  search.   If  this  option  is unset, no path
              hashing will be done at all.

       HASH_DIRS <D>
              Whenever a command is executed, hash the  directory
              containing  it,  as  well  as  all directories that
              occur earlier  in  the  path.   Has  no  effect  if
              HASH_CMDS is unset.

       HASH_LIST_ALL <D>
              Whenever  a  command  completion is attempted, make
              sure the entire command path is hashed first.  This
              makes the first completion slower.

       HIST_ALLOW_CLOBBER
              Add  `|'  to  output  redirections  in the history.
              This allows history  references  to  clobber  files
              even when CLOBBER is unset.

              Beep  when  an  attempt is made to access a history
              entry which isn't there.

       HIST_EXPIRE_DUPS_FIRST
              If the internal history needs to be trimmed to  add
              the  current command line, setting this option will
              cause the oldest history event that has a duplicate
              to  be  lost  before losing a unique event from the
              list.  You should be sure to set the value of HIST­
              SIZE  to  a larger number than SAVEHIST in order to
              give you some room for the duplicated events,  oth­
              erwise   this   option   will   behave   just  like
              HIST_IGNORE_ALL_DUPS once the history fills up with
              unique events.

       HIST_FIND_NO_DUPS
              When searching for history entries in the line edi­
              tor, do not display duplicates of a line previously
              found, even if the duplicates are not contiguous.

       HIST_IGNORE_ALL_DUPS
              If  a  new  command line being added to the history
              list duplicates an older one, the older command  is
              removed from the list (even if it is not the previ­
              ous event).

       HIST_IGNORE_DUPS (-h)
              Do not enter command lines into the history list if
              they are duplicates of the previous event.

       HIST_IGNORE_SPACE (-g)
              Remove command lines from the history list when the
              first character on the line is a space, or when one
              of  the  expanded aliases contains a leading space.
              Note that the command lingers in the internal  his­
              tory  until  the  next command is entered before it
              vanishes, allowing you to briefly reuse or edit the
              line.   If  you  want  to make it vanish right away
              without entering another command, type a space  and
              press return.

       HIST_NO_FUNCTIONS
              Remove  function definitions from the history list.
              Note that the function lingers in the internal his­
              tory  until  the  next command is entered before it
              vanishes, allowing you to briefly reuse or edit the
              definition.

       HIST_NO_STORE
              Remove the history (fc -l) command from the history
              list when invoked.  Note that the  command  lingers
              in  the  internal history until the next command is
              entered before it vanishes, allowing you to briefly


       HIST_REDUCE_BLANKS
              Remove  superfluous  blanks  from each command line
              being added to the history list.

       HIST_SAVE_NO_DUPS
              When writing out the history file,  older  commands
              that duplicate newer ones are omitted.

       HIST_VERIFY
              Whenever the user enters a line with history expan­
              sion, don't execute  the  line  directly;  instead,
              perform  history expansion and reload the line into
              the editing buffer.

       HUP <Z>
              Send the HUP signal to running jobs when the  shell
              exits.

       IGNORE_BRACES (-I) <S>
              Do not perform brace expansion.

       IGNORE_EOF (-7)
              Do  not  exit  on  end-of-file.  Require the use of
              exit or logout instead.  However,  ten  consecutive
              EOFs  will cause the shell to exit anyway, to avoid
              the shell hanging if its tty goes away.

              Also, if this option is set and the Zsh Line Editor
              is used, widgets implemented by shell functions can
              be bound to EOF (normally Control-D) without print­
              ing  the  normal  warning message.  This works only
              for normal widgets, not for completion widgets.

       INC_APPEND_HISTORY
              This options works like APPEND_HISTORY except  that
              new history lines are added to the $HISTFILE incre­
              mentally (as soon as they are entered), rather than
              waiting  until  the  shell  is killed.  The file is
              periodically trimmed to the number of lines  speci­
              fied  by  $SAVEHIST,  but  can  exceed  this  value
              between trimmings.

       INTERACTIVE (-i, ksh: -i)
              This is an interactive shell.  This option  is  set
              upon  initialisation if the standard input is a tty
              and commands are being read  from  standard  input.
              (See the discussion of SHIN_STDIN.)  This heuristic
              may be overridden by specifying a  state  for  this
              option  on  the  command  line.   The value of this
              option cannot be changed anywhere  other  than  the
              command line.

              Allow comments even in interactive shells.

       KSH_ARRAYS <K> <S>
              Emulate  ksh array handling as closely as possible.
              If this option is set, array elements are  numbered
              from  zero,  an  array  parameter without subscript
              refers to the first element instead  of  the  whole
              array,  and  braces  are required to delimit a sub­
              script (`${path[2]}' rather than just  `$path[2]').

       KSH_AUTOLOAD <K> <S>
              Emulate  ksh function autoloading.  This means that
              when a function is  autoloaded,  the  corresponding
              file  is merely executed, and must define the func­
              tion itself.  (By default, the function is  defined
              to  the  contents  of  the file.  However, the most
              common ksh-style case - of the file containing only
              a  simple  definition  of  the function - is always
              handled in the ksh-compatible manner.)

       KSH_GLOB <K>
              In pattern matching, the interpretation  of  paren­
              theses  is  affected  by a preceding `@', `*', `+',
              `?' or `!'.  See the section `Filename Generation'.

       KSH_OPTION_PRINT <K>
              Alters   the  way  options  settings  are  printed:
              instead of separate lists of set and unset options,
              all  options  are shown, marked `on' if they are in
              the non-default state, `off' otherwise.

       KSH_TYPESET <K>
              Alters the way arguments to the typeset  family  of
              commands,  including  declare, export, float, inte­
              ger, local and readonly,  are  processed.   Without
              this option, zsh will perform normal word splitting
              after command and parameter expansion in  arguments
              of  an assignment; with it, word splitting does not
              take place in those cases.

       LIST_AMBIGUOUS <D>
              This option works when AUTO_LIST or  BASH_AUTO_LIST
              is  also set.  If there is an unambiguous prefix to
              insert on the command line, that is done without  a
              completion  list  being  displayed; in other words,
              auto-listing behaviour only takes place when  noth­
              ing   would   be   inserted.    In   the   case  of
              BASH_AUTO_LIST, this means that the  list  will  be
              delayed to the third call of the function.

       LIST_BEEP <D>
              Beep  on an ambiguous completion.  More accurately,
              this forces the completion widgets to return status

              shell to beep if the option BEEP is also set;  this
              may  be  modified  if  completion  is called from a
              user-defined widget.

       LIST_PACKED
              Try to make the completion list smaller  (occupying
              less lines) by printing the matches in columns with
              different widths.

       LIST_ROWS_FIRST
              Lay out the matches in completion lists sorted hor­
              izontally,  that  is,  the  second  match is to the
              right of the first one, not under it as usual.

       LIST_TYPES (-X) <D>
              When listing files that are  possible  completions,
              show  the type of each file with a trailing identi­
              fying mark.

       LOCAL_OPTIONS <K>
              If this option is set at the point of return from a
              shell  function,  all  the  options (including this
              one) which were in force upon entry to the function
              are  restored.  Otherwise, only this option and the
              XTRACE and PRINT_EXIT_VALUE options  are  restored.
              Hence  if this is explicitly unset by a shell func­
              tion the other options in force  at  the  point  of
              return  will  remain so.  A shell function can also
              guarantee itself a known shell configuration with a
              formulation like `emulate -L zsh'; the -L activates
              LOCAL_OPTIONS.

       LOCAL_TRAPS <K>
              If this option is set when a  signal  trap  is  set
              inside  a function, then the previous status of the
              trap for that signal  will  be  restored  when  the
              function  exits.  Note that this option must be set
              prior to altering the trap behaviour in a function;
              unlike  LOCAL_OPTIONS,  the  value on exit from the
              function is irrelevant.  However, it does not  need
              to  be  set  before  any global trap for that to be
              correctly restored by a function.  For example,

                     unsetopt localtraps
                     trap - INT
                     fn() { setopt localtraps; trap '' INT; sleep 3; }

              will restore normally handling of SIGINT after  the
              function exits.

       LOGIN (-l, ksh: -l)
              This  is  a  login  shell.   If  this option is not
              explicitly set, the shell is a login shell  if  the

              is a `-'.

       LONG_LIST_JOBS (-R)
              List jobs in the long format by default.

       MAGIC_EQUAL_SUBST
              All  unquoted   arguments   of   the   form   `any­
              thing=expression'  appearing after the command name
              have filename expansion (that is, where  expression
              has  a  leading `~' or `=') performed on expression
              as if it were a parameter assignment.  The argument
              is not otherwise treated specially; it is passed to
              the command as a single argument, and not  used  as
              an  actual  parameter  assignment.  For example, in
              echo foo=~/bar:~/rod, both occurrences of  ~  would
              be  replaced.   Note  that this happens anyway with
              typeset and similar statements.

              This option respects the setting of the KSH_TYPESET
              option.   In  other  words,  if both options are in
              effect, arguments looking like assignments will not
              undergo wordsplitting.

       MAIL_WARNING (-U)
              Print  a  warning  message  if a mail file has been
              accessed since the shell last checked.

       MARK_DIRS (-8, ksh: -X)
              Append  a  trailing  `/'  to  all  directory  names
              resulting from filename generation (globbing).

       MENU_COMPLETE (-Y)
              On an ambiguous completion, instead of listing pos­
              sibilities or beeping, insert the first match imme­
              diately.   Then when completion is requested again,
              remove the first match and insert the second match,
              etc.   When  there  are no more matches, go back to
              the first one again.  reverse-menu-complete may  be
              used  to  loop through the list in the other direc­
              tion. This option overrides AUTO_MENU.

       MONITOR (-m, ksh: -m)
              Allow job control.  Set by default  in  interactive
              shells.

       MULTIOS <Z>
              Perform  implicit  tees or cats when multiple redi­
              rections are attempted (see the  section  `Redirec­
              tion').

       NOMATCH (+3) <C> <Z>
              If   a  pattern  for  filename  generation  has  no
              matches, print an  error,  instead  of  leaving  it

              to file expansion of an initial `~' or `='.

       NOTIFY (-5, ksh: -b) <Z>
              Report the status of background  jobs  immediately,
              rather  than  waiting  until just before printing a
              prompt.

       NULL_GLOB (-G)
              If  a  pattern  for  filename  generation  has   no
              matches,  delete the pattern from the argument list
              instead of reporting an error.  Overrides  NOMATCH.

       NUMERIC_GLOB_SORT
              If numeric filenames are matched by a filename gen­
              eration pattern,  sort  the  filenames  numerically
              rather than lexicographically.

       OCTAL_ZEROES <S>
              Interpret  any  integer constant beginning with a 0
              as   octal,   per   IEEE   Std   1003.2-1992   (ISO
              9945-2:1993).  This is not enabled by default as it
              causes problems with parsing of, for example,  date
              and time strings with leading zeroes.

       OVERSTRIKE
              Start up the line editor in overstrike mode.

       PATH_DIRS (-Q)
              Perform  a  path  search even on command names with
              slashes in them.  Thus if  `/usr/local/bin'  is  in
              the  user's  path, and he or she types `X11/xinit',
              the command `/usr/local/bin/X11/xinit' will be exe­
              cuted  (assuming  it  exists).  Commands explicitly
              beginning with `/', `./' or `../' are  not  subject
              to  the  path  search.   This also applies to the .
              builtin.

              Note that subdirectories of the  current  directory
              are  always  searched  for executables specified in
              this form.  This  takes  place  before  any  search
              indicated by this option, and regardless of whether
              `.' or the current directory appear in the  command
              search path.

       POSIX_BUILTINS <K> <S>
              When  this option is set the command builtin can be
              used to execute shell builtin commands.   Parameter
              assignments  specified  before  shell functions and
              special builtins are kept after  the  command  com­
              pletes  unless the special builtin is prefixed with
              the command builtin.  Special builtins  are  .,  :,
              break, continue, declare, eval, exit, export, inte­
              ger, local, readonly, return, set,  shift,  source,


       PRINT_EIGHT_BIT
              Print  eight bit characters literally in completion
              lists, etc.  This option is not necessary  if  your
              system  correctly returns the printability of eight
              bit characters (see ctype(3)).

       PRINT_EXIT_VALUE (-1)
              Print the exit value of programs with non-zero exit
              status.

       PRIVILEGED (-p, ksh: -p)
              Turn  on privileged mode. This is enabled automati­
              cally on startup if the effective user  (group)  ID
              is  not equal to the real user (group) ID.  Turning
              this option off causes the effective user and group
              IDs  to be set to the real user and group IDs. This
              option disables sourcing user  startup  files.   If
              zsh  is  invoked  as `sh' or `ksh' with this option
              set, /etc/suid_profile is sourced (after  /etc/pro­
              file on interactive shells). Sourcing ~/.profile is
              disabled and the contents of the  ENV  variable  is
              ignored. This option cannot be changed using the -m
              option of setopt  and  unsetopt,  and  changing  it
              inside   a  function  always  changes  it  globally
              regardless of the LOCAL_OPTIONS option.

       PROMPT_BANG <K>
              If set, `!' is treated specially in  prompt  expan­
              sion.  See the section `Prompt Expansion'.

       PROMPT_CR (+V) <D>
              Print  a  carriage  return  just  before printing a
              prompt in the line editor.  This is on  by  default
              as  multi-line editing is only possible if the edi­
              tor knows where the start of the line appears.

       PROMPT_PERCENT <C> <Z>
              If set, `%' is treated specially in  prompt  expan­
              sion.  See the section `Prompt Expansion'.

       PROMPT_SUBST <K>
              If  set,  parameter expansion, command substitution
              and arithmetic expansion are performed in  prompts.

       PUSHD_IGNORE_DUPS
              Don't  push  multiple  copies of the same directory
              onto the directory stack.

       PUSHD_MINUS
              Exchanges the meanings of `+'  and  `-'  when  used
              with  a number to specify a directory in the stack.

              Do not print the directory  stack  after  pushd  or
              popd.

       PUSHD_TO_HOME (-D)
              Have  pushd  with  no  arguments  act  like  `pushd
              $HOME'.

       RC_EXPAND_PARAM (-P)
              Array expansions of the form  `foo${xx}bar',  where
              the parameter xx is set to (a b c), are substituted
              with  `fooabar  foobbar  foocbar'  instead  of  the
              default `fooa b cbar'.

       RC_QUOTES
              Allow the character sequence `''' to signify a sin­
              gle quote within singly quoted strings.  Note  this
              does  not  apply in quoted strings using the format
              $'...', where a backslashed  single  quote  can  be
              used.

       RCS (+f) <D>
              After /etc/zshenv is sourced on startup, source the
              .zshenv,  /etc/zprofile,   .zprofile,   /etc/zshrc,
              .zshrc,  /etc/zlogin,  .zlogin, and .zlogout files,
              as described  in  the  section  `Files'.   If  this
              option  is  unset,  the  /etc/zshenv  file is still
              sourced, but any of the others will not be; it  can
              be set at any time to prevent the remaining startup
              files after the currently executing one from  being
              sourced.

       REC_EXACT (-S)
              In completion, recognize exact matches even if they
              are ambiguous.

       RESTRICTED (-r)
              Enables restricted mode.   This  option  cannot  be
              changed  using  unsetopt,  and  setting it inside a
              function always changes it globally  regardless  of
              the   LOCAL_OPTIONS   option.    See   the  section
              `Restricted Shell'.

       RM_STAR_SILENT (-H) <K> <S>
              Do not query the user before executing  `rm  *'  or
              `rm path/*'.

       RM_STAR_WAIT
              If querying the user before executing `rm *' or `rm
              path/*', first wait ten seconds and ignore anything
              typed  in  that  time.   This avoids the problem of
              reflexively answering `yes' to the query  when  one
              didn't  really  mean  it.   The  wait and query can
              always be avoided by expanding the `*' in ZLE (with


       SHARE_HISTORY <K>

              This option both imports new commands from the his­
              tory file, and also causes your typed  commands  to
              be appended to the history file (the latter is like
              specifying INC_APPEND_HISTORY).  The history  lines
              are  also  output with timestamps ala EXTENDED_HIS­
              TORY (which makes it easier to find the spot  where
              we left off reading the file after it gets re-writ­
              ten).

              By default, history  movement  commands  visit  the
              imported  lines as well as the local lines, but you
              can toggle this on and off with the  set-local-his­
              tory  zle binding.  It is also possible to create a
              zle widget that  will  make  some  commands  ignore
              imported commands, and some include them.

              If  you  find  that you want more control over when
              commands  get  imported,  you  may  wish  to   turn
              SHARE_HISTORY  off, INC_APPEND_HISTORY on, and then
              manually import commands  whenever  you  need  them
              using `fc -RI'.

       SH_FILE_EXPANSION <K> <S>
              Perform  filename  expansion  (e.g.,  ~  expansion)
              before parameter expansion,  command  substitution,
              arithmetic  expansion and brace expansion.  If this
              option is unset, it is performed after brace expan­
              sion,  so  things  like  `~$USERNAME'  and `~{pfal­
              stad,rc}' will work.

       SH_GLOB <K> <S>
              Disables the special meaning of `(', `|',  `)'  and
              '<'  for  globbing the result of parameter and com­
              mand substitutions, and in some other places  where
              the  shell accepts patterns.  This option is set by
              default if zsh is invoked as sh or ksh.

       SHIN_STDIN (-s, ksh: -s)
              Commands are being read from  the  standard  input.
              Commands are read from standard input if no command
              is specified with -c and no  file  of  commands  is
              specified.   If SHIN_STDIN is set explicitly on the
              command line, any  argument  that  would  otherwise
              have  been  taken  as a file to run will instead be
              treated as a  normal  positional  parameter.   Note
              that  setting  or unsetting this option on the com­
              mand line does not necessarily affect the state the
              option  will have while the shell is running - that
              is purely an indicator of whether on  not  commands
              are  actually  being read from standard input.  The

              other than the command line.

       SH_NULLCMD <K> <S>
              Do  not  use  the values of NULLCMD and READNULLCMD
              when doing redirections, use `:' instead  (see  the
              section `Redirection').

       SH_OPTION_LETTERS <K> <S>
              If  this option is set the shell tries to interpret
              single letter options (which are used with set  and
              setopt) like ksh does.  This also affects the value
              of the - special parameter.

       SHORT_LOOPS <C> <Z>
              Allow the short forms of for, select, if, and func­
              tion constructs.

       SH_WORD_SPLIT (-y) <K> <S>
              Causes  field splitting to be performed on unquoted
              parameter expansions.  Note that  this  option  has
              nothing  to  do with word splitting.  (See the sec­
              tion `Parameter Expansion'.)

       SINGLE_COMMAND (-t, ksh: -t)
              If the shell is reading  from  standard  input,  it
              exits  after  a  single  command has been executed.
              This also makes the shell  non-interactive,  unless
              the  INTERACTIVE  option  is  explicitly set on the
              command line.  The value of this option  cannot  be
              changed anywhere other than the command line.

       SINGLE_LINE_ZLE (-M) <K>
              Use  single-line  command  line  editing instead of
              multi-line.

       SUN_KEYBOARD_HACK (-L)
              If a line ends with a backquote, and there  are  an
              odd  number  of  backquotes on the line, ignore the
              trailing backquote.  This is useful  on  some  key­
              boards  where  the return key is too small, and the
              backquote key lies annoyingly close to it.

       UNSET (+u, ksh: +u) <K> <S> <Z>
              Treat unset parameters as if they were  empty  when
              substituting.   Otherwise  they  are  treated as an
              error.

       VERBOSE (-v, ksh: -v)
              Print shell input lines as they are read.

       XTRACE (-x, ksh: -x)
              Print commands and their arguments as they are exe­
              cuted.

              Use  the zsh line editor.  Set by default in inter­
              active shells connected to a terminal.


OPTION ALIASES

       Some options have alternative names.   These  aliases  are
       never  used  for  output, but can be used just like normal
       option names when specifying options to the shell.

       BRACE_EXPAND
              NO_IGNORE_BRACES (ksh and bash compatibility)

       DOT_GLOB
              GLOB_DOTS (bash compatibility)

       HASH_ALL
              HASH_CMDS (bash compatibility)

       HIST_APPEND
              APPEND_HISTORY (bash compatibility)

       HIST_EXPAND
              BANG_HIST (bash compatibility)

       LOG    NO_HIST_NO_FUNCTIONS (ksh compatibility)

       MAIL_WARN
              MAIL_WARNING (bash compatibility)

       ONE_CMD
              SINGLE_COMMAND (bash compatibility)

       PHYSICAL
              CHASE_LINKS (ksh and bash compatibility)

       PROMPT_VARS
              PROMPT_SUBST (bash compatibility)

       STDIN  SHIN_STDIN (ksh compatibility)

       TRACK_ALL
              HASH_CMDS (ksh compatibility)


SINGLE LETTER OPTIONS

   Default set
       -0     CORRECT
       -1     PRINT_EXIT_VALUE
       -2     NO_BAD_PATTERN
       -3     NO_NOMATCH
       -4     GLOB_DOTS
       -5     NOTIFY
       -6     BG_NICE
       -7     IGNORE_EOF
       -8     MARK_DIRS

       -B     NO_BEEP
       -C     NO_CLOBBER
       -D     PUSHD_TO_HOME
       -E     PUSHD_SILENT
       -F     NO_GLOB
       -G     NULL_GLOB
       -H     RM_STAR_SILENT
       -I     IGNORE_BRACES
       -J     AUTO_CD
       -K     NO_BANG_HIST
       -L     SUN_KEYBOARD_HACK
       -M     SINGLE_LINE_ZLE
       -N     AUTO_PUSHD
       -O     CORRECT_ALL
       -P     RC_EXPAND_PARAM
       -Q     PATH_DIRS
       -R     LONG_LIST_JOBS
       -S     REC_EXACT
       -T     CDABLE_VARS
       -U     MAIL_WARNING
       -V     NO_PROMPT_CR
       -W     AUTO_RESUME
       -X     LIST_TYPES
       -Y     MENU_COMPLETE
       -Z     ZLE
       -a     ALL_EXPORT
       -e     ERR_EXIT
       -f     NO_RCS
       -g     HIST_IGNORE_SPACE
       -h     HIST_IGNORE_DUPS
       -i     INTERACTIVE
       -k     INTERACTIVE_COMMENTS
       -l     LOGIN
       -m     MONITOR
       -n     NO_EXEC
       -p     PRIVILEGED
       -r     RESTRICTED
       -s     SHIN_STDIN
       -t     SINGLE_COMMAND
       -u     NO_UNSET
       -v     VERBOSE
       -w     CHASE_LINKS
       -x     XTRACE
       -y     SH_WORD_SPLIT

   sh/ksh emulation set
       -C     NO_CLOBBER
       -X     MARK_DIRS
       -a     ALL_EXPORT
       -b     NOTIFY
       -e     ERR_EXIT
       -f     NO_GLOB
       -i     INTERACTIVE

       -m     MONITOR
       -n     NO_EXEC
       -p     PRIVILEGED
       -r     RESTRICTED
       -s     SHIN_STDIN
       -t     SINGLE_COMMAND
       -u     NO_UNSET
       -v     VERBOSE
       -x     XTRACE

   Also note
       -A     Used by set for setting arrays
       -b     Used on the command line to specify end  of  option
              processing
       -c     Used  on  the command line to specify a single com­
              mand
       -m     Used by setopt for pattern-matching option setting
       -o     Used in all places to  allow  use  of  long  option
              names
       -s     Used by set to sort positional parameters


Man(1) output converted with man2html