Home Explore Blog CI



neovim

80th chunk of `runtime/doc/options.txt`
85bd8349af4c2e93c664cd456246fdf597f079c81aa8602b0000000100000fa3
 execute "!" and ":!" commands; e.g.,
	`bash.exe -c ls` or `cmd.exe /s /c "dir"`.  For MS-Windows, the
	default is set according to the value of 'shell', to reduce the need
	to set this option by the user.
	On Unix it can have more than one flag.  Each white space separated
	part is passed as an argument to the shell command.
	See |option-backslash| about including spaces and backslashes.
	See |shell-unquoting| which talks about separating this option into
	multiple arguments.
	This option cannot be set from a |modeline| or in the |sandbox|, for
	security reasons.

						*'shellpipe'* *'sp'*
'shellpipe' 'sp'	string	(default ">", "| tee", "|& tee" or "2>&1| tee")
			global
	String to be used to put the output of the ":make" command in the
	error file.  See also |:make_makeprg|.  See |option-backslash| about
	including spaces and backslashes.
	The name of the temporary file can be represented by "%s" if necessary
	(the file name is appended automatically if no %s appears in the value
	of this option).
	For MS-Windows the default is "2>&1| tee".  The stdout and stderr are
	saved in a file and echoed to the screen.
	For Unix the default is "| tee".  The stdout of the compiler is saved
	in a file and echoed to the screen.  If the 'shell' option is "csh" or
	"tcsh" after initializations, the default becomes "|& tee".  If the
	'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
	"bash", "fish", "ash" or "dash" the default becomes "2>&1| tee".  This
	means that stderr is also included.  Before using the 'shell' option a
	path is removed, thus "/bin/sh" uses "sh".
	The initialization of this option is done after reading the vimrc
	and the other initializations, so that when the 'shell' option is set
	there, the 'shellpipe' option changes automatically, unless it was
	explicitly set before.
	When 'shellpipe' is set to an empty string, no redirection of the
	":make" output will be done.  This is useful if you use a 'makeprg'
	that writes to 'makeef' by itself.  If you want no piping, but do
	want to include the 'makeef', set 'shellpipe' to a single space.
	Don't forget to precede the space with a backslash: ":set sp=\ ".
	In the future pipes may be used for filtering and this option will
	become obsolete (at least for Unix).
	This option cannot be set from a |modeline| or in the |sandbox|, for
	security reasons.

						*'shellquote'* *'shq'*
'shellquote' 'shq'	string	(default ""; Windows, when 'shell'
                                        contains "sh" somewhere: "\"")
			global
	Quoting character(s), put around the command passed to the shell, for
	the "!" and ":!" commands.  The redirection is kept outside of the
	quoting.  See 'shellxquote' to include the redirection.  It's
	probably not useful to set both options.
	This is an empty string by default.  Only known to be useful for
	third-party shells on Windows systems, such as the MKS Korn Shell
	or bash, where it should be "\"".  The default is adjusted according
	the value of 'shell', to reduce the need to set this option by the
	user.
	This option cannot be set from a |modeline| or in the |sandbox|, for
	security reasons.

						*'shellredir'* *'srr'*
'shellredir' 'srr'	string	(default ">", ">&" or ">%s 2>&1")
			global
	String to be used to put the output of a filter command in a temporary
	file.  See also |:!|.  See |option-backslash| about including spaces
	and backslashes.
	The name of the temporary file can be represented by "%s" if necessary
	(the file name is appended automatically if no %s appears in the value
	of this option).
	The default is ">".  For Unix, if the 'shell' option is "csh" or
	"tcsh" during initializations, the default becomes ">&".  If the
	'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
	"bash" or "fish", the default becomes ">%s 2>&1".  This means that
	stderr is also included.  For Win32, the Unix checks are done and
	additionally "cmd" is checked for, which makes the default ">%s 2>&1".
	Also, the same names with ".exe"

Title: Vim Options: 'shellpipe', 'shellquote', and 'shellredir'
Summary
This section details the 'shellpipe' option, which dictates how the output of the ":make" command is directed to the error file, including specifics for MS-Windows and Unix. It also describes the 'shellquote' option, used to quote commands passed to the shell, primarily useful for third-party shells on Windows, and the 'shellredir' option, which determines how the output of a filter command is redirected to a temporary file. Each of these options have default values depending on the shell being used. These options cannot be set from a modeline or sandbox for security reasons.