bindkey [ options ] -l
bindkey [ options ] -d
bindkey [ options ] -D keymap ...
bindkey [ options ] -A old-keymap new-keymap
bindkey [ options ] -N new-keymap [ old-keymap ]
bindkey [ options ] -m
bindkey [ options ] -r in-string ...
bindkey [ options ] -s in-string out-string ...
bindkey [ options ] in-string command ...
bindkey [ options ] [ in-string ]
       bindkey's  options  can be divided into three cate-
       gories: keymap selection, operation selection,  and
       others.  The keymap selection options are:

       -e     Selects keymap `emacs', and also links it to
              `main'.

       -v     Selects keymap `viins', and also links it to
              `main'.

       -a     Selects keymap `vicmd'.

       -M     The  first  non-option argument is used as a
              keymap name, and does not otherwise count as
              an argument.

       Some  operations  do  not  permit  a  keymap  to be
       selected.  If a keymap selection  is  required  and
       none  of  the  options  above  are used, the `main'
       keymap is used.  These operations do not  permit  a
       keymap to be selected:

       -l     List  all  existing keymap names.  If the -L
              option is used, list in the form of  bindkey
              commands to create the keymaps.

       -d     Delete all existing keymaps and reset to the
              default state.

       -D keymap ...
              Delete the named keymaps.

       -A old-keymap new-keymap
              Make  the  new-keymap  name  an  alias   for
              old-keymap,  so that both names refer to the
              same keymap.  The names have equal standing;
              if either is deleted, the other remains.  If
              there  is  already   a   keymap   with   the
              new-keymap name, it is deleted.

       -N new-keymap [ old-keymap ]
              Create a new keymap, named new-keymap.  If a
              keymap already has that name, it is deleted.
              If  an  old-keymap  name  is  given, the new
              keymap is initialised to be a  duplicate  of
              it,  otherwise the new keymap will be empty.

       The following operations require  a  keymap  to  be
       selected:

       -m     Add the built-in set of meta-key bindings to
              the selected keymap.   Only  keys  that  are
              unbound   or   bound   to   self-insert  are
              affected.

       -r in-string ...
              Unbind  the  specified  in-strings  in   the
              selected keymap.  This is exactly equivalent
              to binding the strings to undefined-key.

       -s in-string out-string ...
              Bind  each  in-string  to  each  out-string.
              When  in-string is typed, out-string will be
              pushed back and treated as input to the line
              editor.

       in-string command ...
              Bind each in-string to each command.

       [ in-string ]
              List key bindings.  If an in-string is spec-
              ified, the binding of  that  string  in  the
              selected  keymap  is  displayed.  Otherwise,
              all key bindings in the selected keymap  are
              displayed.  As an exception, if the -e or -v
              options are used alone, the  keymap  is  not
              displayed  - the implicit linking of keymaps
              is the only thing that happens.

       In the binding operations,  if  the  -R  option  is
       used,  the  in-strings  are  interpreted as ranges,
       instead of plain strings.  A valid  range  consists
       of  two  characters,  with  an optional `-' between
       them.  All characters between  the  two  specified,
       inclusive, are bound as specified.

       For  either  in-string or out-string, the following
       escape sequences are recognised:

       \a     bell character
       \b     backspace
       \e, \E escape
       \f     form feed
       \n     linefeed (newline)

       \r     carriage return
       \t     horizontal tab
       \v     vertical tab
       \NNN   character code in octal
       \xNN   character code in hexadecimal
       \M[-]X character with meta bit set
       \C[-]X control character
       ^X     control character

       In all other cases, `\' escapes the following char-
       acter.   Delete  is  written  as  `^?'.   Note that
       `\M^?' and `^\M?' are not the same.
