ZSHOPTIONS(1)ZSHOPTIONS(1)NAMEzshoptions - 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 "setopt
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 when the shell is emulating sh or
ksh. 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".
DESCRIPTIONS
ALL_EXPORT (-a, ksh: -a)
All parameters subsequently defined are
automatically exported.
ALWAYS_LAST_PROMPT
If unset, key functions that list comple
tions try to return to the last prompt if
given a numeric argument. If set these func
tions try to return to the last prompt if
given no numeric argument.
ALWAYS_TO_END
If a completion with the cursor in the word
was started and it results in only one
match, the cursor is placed at the end of
the word.
APPEND_HISTORY
If this is set, zsh sessions will append
their history list to the history file,
rather than overwrite it. Thus, multiple
parallel zsh sessions will all have their
history lists added to the history file, in
the order they are killed.
zsh version 3.0 June 26, 1996 1
ZSHOPTIONS(1)ZSHOPTIONS(1)
AUTO_CD (-J)
If a command is not in the hash table, and
there exists an executable directory by that
name, perform the cd command to that direc
tory.
AUTO_LIST (-9)
Automatically list choices on an ambiguous
completion.
AUTO_MENU
Automatically use menu completion after the
second consecutive request for completion,
for example by pressing the TAB key repeat
edly. This option is overridden by MENU_COM
PLETE.
AUTO_NAME_DIRS
Any parameter that is set to the absolute
name of a directory immediately becomes a
name for that directory in the usual form
~param. If this option is not set, the
parameter must be used in that form for it
to become a name (a command-line completion
is sufficient for this).
AUTO_PARAM_KEYS
If a parameter name was completed and the
next character typed is one of those that
have to come directly after the name (like
`}', `:', etc.) they are placed there auto
matically.
AUTO_PARAM_SLASH
If a parameter is completed whose content is
the name of a directory, then add a trailing
slash.
AUTO_PUSHD (-N)
Make cd push the old directory onto the
directory stack.
AUTO_REMOVE_SLASH
When the last character resulting from a
completion is a slash and the next character
typed is a word delimiter, remove the slash.
AUTO_RESUME (-W)
Treat single word simple commands without
redirection as candidates for resumption of
an existing job.
BAD_PATTERN (+2)
If a pattern for filename generation is
zsh version 3.0 June 26, 1996 2
ZSHOPTIONS(1)ZSHOPTIONS(1)
badly formed, print an error. If this
option is unset, the pattern will be left
unchanged.
BANG_HIST (+K)
Perform textual history substitution, treat
ing the character ! specially.
BEEP (+B)
Beep.
BG_NICE (-6)
Run all background jobs at a lower priority.
This option is set by default.
BRACE_CCL
Expand expressions in braces which would not
otherwise undergo brace expansion to a lexi
cally ordered list of all the characters.
See the section BRACE EXPANSION in the zsh
expn manual page.
BSD_ECHO
Make the echo builtin compatible with the
BSD echo(1) command. This disables back
slashed escape sequences in echo strings
unless the -e option is specified.
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 Filename Expansion
above).
CHASE_LINKS (-w)
Resolve symbolic links to their true values.
CLOBBER (+C, ksh: +C)
Allows > redirection to truncate existing
files, and >> to create files. Otherwise >!
must be used to truncate a file, and >>! to
create a file.
COMPLETE_ALIASES
If set, aliases on the command line are not
internally substituted before completion is
attempted.
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
zsh version 3.0 June 26, 1996 3
ZSHOPTIONS(1)ZSHOPTIONS(1)
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
A history reference without an event speci
fier will always refer to the previous com
mand.
CSH_JUNKIE_LOOPS
Allow loop bodies to take the form "list;
end" instead of "do list; done".
CSH_JUNKIE_QUOTES
Complain if a quoted expression runs off the
end of a line; prevent quoted expressions
from containing unescaped newlines.
CSH_NULL_GLOB
If a pattern for filename generation has no
matches, delete the pattern from the argu
ment list; do not report an error unless all
the patterns in a command have no matches.
Overrides NULL_GLOB.
EQUALS Perform = filename substitution.
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 initializa
tion scripts.
EXEC (+n, ksh: +n)
Do execute commands. Without this option,
commands are read and checked for syntax
errors, but not executed.
EXTENDED_GLOB
Treat the #, ~ and ^ characters as part of
patterns for filename generation, etc. (An
initial unquoted ~ always produces named
directory expansion as in Filename Expansion
above.)
EXTENDED_HISTORY
Save beginning and ending timestamps to the
history file. The format of these times
tamps is :<beginning time>:<ending
zsh version 3.0 June 26, 1996 4
ZSHOPTIONS(1)ZSHOPTIONS(1)
time>:<command>.
FLOW_CONTROL
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
When executing a shell function or sourcing
a script, set $0 temporarily to the name of
the function/script.
GLOB (+F, ksh: +f)
Perform filename generation.
GLOB_ASSIGN
If this option is set, filename generation
(globbing) is performed on the right hand
side of scalar parameter assignments of the
form name=pattern (e.g. `param=*'). If the
result has more than one word the parameter
will become an array with those words as
arguments. This option is provided for back
wards compatibility only: globbing is always
performed on the right hand side of array
assignments of the form `name=( value )'
(e.g. `param=(*)') and this form is recom
mended 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 com
pletion 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
Treat any characters resulting from parame
ter substitution as being eligible for file
expansion and filename generation, and any
characters resulting from command substitu
tion as being eligible for filename
zsh version 3.0 June 26, 1996 5
ZSHOPTIONS(1)ZSHOPTIONS(1)
generation.
HASH_CMDS
Place the location of each command in the
hash table the first time it is executed.
If this option is unset, no path hashing
will be done at all.
HASH_DIRS
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
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 his
tory. This allows history references to
clobber files even when CLOBBER is unset.
HIST_BEEP
Beep when an attempt is made to access a
history entry which isn't there.
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)
Do not enter command lines into the history
list if any command on the line begins with
a blank.
HIST_NO_STORE
Remove the history (fc -l) command from the
history when invoked.
HIST_REDUCE_BLANKS
Remove superfluous whitespace from each com
mand line being added to the history list.
HIST_VERIFY
Whenever the user enters a line with history
substitution, don't execute the line
directly; instead, perform history substitu
tion and reload the line into the editing
buffer.
zsh version 3.0 June 26, 1996 6
ZSHOPTIONS(1)ZSHOPTIONS(1)
HUP Send the HUP signal to running jobs when the
shell exits.
IGNORE_BRACES (-I)
Do not perform brace expansion.
IGNORE_EOF (-7)
Do not exit on end-of-file. Require the use
of exit or logout instead.
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 overrid
den 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.
INTERACTIVE_COMMENTS (-k)
Allow comments even in interactive shells.
KSH_ARRAYS
Emulate ksh array handling as closely as
possible. If this option is set, array ele
ments 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_OPTION_PRINT
Alters the way options settings are printed.
LIST_AMBIGUOUS
If this option is set, completions are shown
only if the completions don't have a unam
biguous prefix or suffix that could be
inserted in the command line.
LIST_BEEP
Beep on an ambiguous completion.
LIST_TYPES (-X)
When listing files that are possible comple
tions, show the type of each file with a
trailing identifying mark.
LOCAL_OPTIONS
If this option is set at the point of return
from a shell function, all the options
zsh version 3.0 June 26, 1996 7
ZSHOPTIONS(1)ZSHOPTIONS(1)
(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
function the other options in force at the
point of return will remain so.
LOGIN (-l, ksh: -l)
This is a login shell.
LONG_LIST_JOBS (-R)
List jobs in the long format by default.
MAGIC_EQUAL_SUBST
All unquoted arguments of the form identi_
fier=expression appearing after the command
name have filename expansion (that is, where
expression has a leading `~' or `=') per
formed on expression as if it were a parame
ter assignment. The argument is not other
wise treated specially: in other words, it
is subsequently treated as a single word,
not as an assignment.
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 (glob
bing).
MENU_COMPLETE (-Y)
On an ambiguous completion, instead of list
ing possibilities or beeping, insert the
first match immediately. Then when comple
tion 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 direction. This option overrides
AUTO_MENU.
MONITOR (-m, ksh: -m)
Allow job control. Set by default in inter
active shells.
MULTIOS
Perform implicit tees or cats when multiple
redirections are attempted (see the REDIREC
TION section).
zsh version 3.0 June 26, 1996 8
ZSHOPTIONS(1)ZSHOPTIONS(1)
NOMATCH (+3)
If a pattern for filename generation has no
matches, print an error, instead of leaving
it unchanged in the argument list. This
also applies to file expansion of an initial
~ or =.
NOTIFY (-5, ksh: -b)
Report the status of background jobs immedi
ately, 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 argu
ment list instead of reporting an error.
Overrides NOMATCH.
NUMERIC_GLOB_SORT
If numeric filenames are matched by a file
name generation pattern, sort the filenames
numerically rather than lexicographically.
OVER_STRIKE
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 types "X11/xinit", the command
"/usr/local/bin/X11/xinit" will be executed
(assuming it exists). This applies to the .
builtin as well as to command execution.
Commands explicitly beginning with "./" or
"../" are not subject to path search.
POSIX_BUILTINS
When this option is set the command builtin
can be used to execute shell builtin com
mands. Parameter assignments specified
before shell functions and special builtins
are kept after the command completes unless
the special builtin is prefixed with the
command builtin. Special builtins are ., :,
break, continue, declare, eval, exit,
export, integer, local, readonly, return,
set, shift, source, times, trap and unset.
PRINT_EIGHT_BIT
Print eight bit characters literally in com
pletion lists, etc. This option is not nec
essary if your system correctly returns the
printability of eight bit characters (see
zsh version 3.0 June 26, 1996 9
ZSHOPTIONS(1)ZSHOPTIONS(1)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
automatically 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/profile on interactive shells).
Sourcing ~/.profile is disabled and the con
tents 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_CR (+V)
Print a carriage return just before printing
a prompt in the line editor.
PROMPT_SUBST
If set, parameter expansion, command substi_
tution and arithmetic expansion is performed
in prompts.
PUSHD_IGNORE_DUPS
Don't push multiple copies of the same
directory onto the directory stack.
PUSHD_MINUS
See popd below.
PUSHD_SILENT (-E)
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.
zsh version 3.0 June 26, 1996 10
ZSHOPTIONS(1)ZSHOPTIONS(1)
RC_QUOTES
Allow the character sequence '' to signify a
single quote within singly quoted strings.
RCS (+f)
After /etc/zshenv is sourced on startup,
source the /etc/zshrc, .zshrc, /etc/zlogin,
.zlogin, and .zlogout files, as described in
STARTUP/SHUTDOWN FILES. If this option is
unset, only the /etc/zshenv file is sourced.
REC_EXACT (-S)
In completion, recognize exact matches even
if they are ambiguous.
RM_STAR_SILENT (-H)
Do not query the user before executing "rm
*" or "rm path/*".
SH_FILE_EXPANSION
Perform filename expansion (e.g., ~ expan
sion) before parateter expansion, command
substitution, arithmetic expansion and brace
expansion. If this option is unset, it is
performed after brace expansion, so things
like ``~$USERNAME'' ``~{pfalstad,rc}'' will
work.
SH_GLOB
Disables the special meaning of `(', `|',
`)' and '<' for globbing the result of
parameter and command substitutions, and in
some other places where the shell accepts
patterns. This option is set 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 command 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 value of this option cannot be changed
anywhere other than the command line.
zsh version 3.0 June 26, 1996 11
ZSHOPTIONS(1)ZSHOPTIONS(1)
SH_OPTION_LETTERS
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
Allow the short forms of for, select, if,
and function constructs.
SH_WORD_SPLIT (-y)
See 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 any
where other than the command line.
SINGLE_LINE_ZLE (-M)
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 use
ful on some keyboards where the return key
is too small, and the backquote key lies
annoyingly close to it.
UNSET (+u, ksh: +u)
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 executed.
ZLE (-Z)
Use the zsh line editor.
SINGLE LETTER OPTIONS
Default set:
-0 CORRECT
zsh version 3.0 June 26, 1996 12
ZSHOPTIONS(1)ZSHOPTIONS(1)-1 PRINT_EXIT_VALUE
+2 BAD_PATTERN
+3 NOMATCH
-4 GLOB_DOTS
-5 NOTIFY
-6 BG_NICE
-7 IGNORE_EOF
-8 MARK_DIRS
-9 AUTO_LIST
+B BEEP
+C CLOBBER
-D PUSHD_TO_HOME
-E PUSHD_SILENT
+F GLOB
-G NULL_GLOB
-H RM_STAR_SILENT
-I IGNORE_BRACES
-J AUTO_CD
+K 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 PROMPT_CR
-W AUTO_RESUME
-X LIST_TYPES
-Y MENU_COMPLETE
-Z ZLE
-a ALL_EXPORT
-e ERR_EXIT
+f RCS
-g HIST_IGNORE_SPACE
-h HIST_IGNORE_DUPS
-i INTERACTIVE
-k INTERACTIVE_COMMENTS
-l LOGIN
-m MONITOR
+n EXEC
-p PRIVILEGED
-s SHIN_STDIN
-t SINGLE_COMMAND
+u UNSET
-v VERBOSE
-w CHASE_LINKS
-x XTRACE
-y SH_WORD_SPLIT
sh/ksh emulation set:
zsh version 3.0 June 26, 1996 13
ZSHOPTIONS(1)ZSHOPTIONS(1)
+C CLOBBER
-X MARK_DIRS
-a ALL_EXPORT
-b NOTIFY
-e ERR_EXIT
+f GLOB
-i INTERACTIVE
-l LOGIN
-m MONITOR
+n EXEC
-p PRIVILEGED
-s SHIN_STDIN
-t SINGLE_COMMAND
+u UNSET
-v VERBOSE
-x XTRACE
Also note:
-A Used by set for setting arrays
-c Used on the command line to specify a single command
-m Used by setopt for pattern-matching option setting
-o Used in all places to allow use of long option names
Note that the use of -m in setopt and unsetopt, allowing
the specification of option names by glob patterns,
clashes with the use of -m for setting the MONITOR option.
zsh version 3.0 June 26, 1996 14