  ++ I N V O K I N G   Q ++

Usage: q [-AVbcdemnoqtv] [-i <macro definition>] [-k <keylog file>] [+<n> file]
[file[:<n>]]...

<file> arguments are processed sequentially, by use of q's Q-QUIT command with
no argument; or may be accessed out of sequence by "Q $<number>". The current
<file> is the implied parameter when the file is saved (S-SAVE or B-BACKUP) if
no parameter is given to these commands, while they must be given a <file> if q
was invoked without one. If S or B is given a file, that becomes the file being
edited.

If a line number is appended to the <file> arg (file:<n>), then q positions to
line <n> and does a V-VIEW command before prompting the user for input.

Initial tasks: Unless -n is given, if ./.qrc exists it is obeyed as a U-USE
file. If not but ~/.qrc does exist, that is U-USE'd. If neither, then U-USE
/etc/qrc.

After loading up the editing workfile with <file> if one was given, q gains
absolute control over the display by diabling all special characters except
interrupt.

-i <macro definition> tells Q to obey the definition as an FI-FIMMEDIATE_MACRO
command before taking input from the user (which will never happen if -o is also
given). <macro definition> will usually need to be quoted for the shell, but Q
itself should not see it quoted.

-o forces Q to terminate rather than ask the user for input. It may only be
given when -i is also given - so Q just performs some work and exits. -o is
forced on when Q runs in a pipe.

-b signifies the edit is to be in Binary mode. This cannot be changed for the
session. Files are read with no tab expansion or other character conversion. The
division into "lines" is somewhat arbitrary: lines have a maximum initial length
of 1 internal block (60 characters on most systems) but are split at any ^J or a
^@ if the line is already half its maximum size. This is done in an attempt to
reduce splitting of text strings within the file, but the J-JOIN command may be
used freely to supplement this. By default, binary edits are done in Fixed
Length mode - "H FM" for more information.

-c (Continuous) is only valid when Q is running in a pipe, and tells Q not to
wait for end of file before processing but instead process as soon as there are
no more lines to read and at least 1 line has been read. This allows output from
e.g. tail -f to be piped into Q.

-d, -e, -m & -t reverse the default sense of the corresponding mode in respect
of reading files ("H FM" for more). Thus -d & -t reverse the dr & tr defaults,
but not dw or tw.

-q (quiet) tells Q not to output anything to standard output. There must be a -i
argument to tell Q what to do. -q is forced on when Q runs in a pipe.

-v (verbose) is only actioned if Q is run in a pipe (i.e. with standard input &
output redirected to files). -v then causes everything that would otherwise have
gone to stdout to be sent to stderr.

-vv (very verbose) (-v option given twice) tells Q to ignore FD-FDEVNULL
commands. This works whether in a pipe or not. -vv also makes mode 8 be on by
default, so 'q -vvk <keylog file>' logs all the output from .qrc.

-A (ALU) outputs the currently supported ALU (and FPU) opcodes. If -A is the
only command-line argument, Q then exits.

-V (version) outputs Q's version number. If -V is the only command-line
argument, Q then exits.

+<n> must come after any options and applies only to the first <file>. It has
the same effect as ":<n>". The command format is expected by and only intended
for certain pagers e.g. the less command's "v" subcommand.
