Shell Commands
==============
The symbol `%' is used in Ex shell commands to mean current file. If
you want a `%' in your command, it must be escaped as `\%'. However if
`%' is the first character, it stands as the address for the whole file.
Similarly, `#' expands to the previous file. The previous file is the
first file in `:args' listing. This defaults to the previous file in
the VI sense if you have one window.
Symbols `%' and `#' are also used in the Ex commands `:e' and `:r
<shell-cmd>'. The commands `:w' and the regular `:r <file>' command
don't support these meta symbols, because file history is a better
mechanism.
`:sh'
Execute a subshell in another window
`:[x,y]!<cmd>'
Execute a shell <cmd> [on lines x through y; % is replace by
current file, \% is changed to %
`:[x,y]!! [<args>]'
Repeat last shell command [and append <args>].
`:!<cmd>'
Just execute command and display result in a buffer.
`:!! <args>'
Repeat last shell command and append <args>
`<count> !<move><cmd>'
The shell executes <cmd>, with standard input the lines described
by <count><move>, next the standard output replaces those lines
(think of `cb', `sort', `nroff', etc.).
`<count> !!<cmd>'
Give <count> lines as standard input to the shell <cmd>, next let
the standard output replace those lines.
`:[x,y] w !<cmd>'
Let lines x to y be standard input for <cmd> (notice the <sp>
between `w' and `!').
`:<address>r !<cmd>'
Put the output of <cmd> after the line <address> (default current).
`:<address>r <name>'
Read the file <name> into the buffer after the line <address>
(default current).
`:make'
Run the make command in the current directory.