# $EPIC: bind,v 1.3 2000/10/03 23:03:12 jnelson Exp $
Synopsis:
   bind [META<number>-]<character_sequence> [<action> [<args>]]
   bind -SYMBOLIC <symbolic_name> [<action> [<args>]]]

Description:
   BIND specifices what the client should do when you enter a sequence of one
   or more keys.  By default, EPIC binds most of the common key sequences to
   meaningful values.  There are no artificial limits on what can be bound to 
   a key sequence.

   Fundamentally, EPIC processes keyboard input using a deterministic state 
   machine, where every key press either results in a new input state (META 
   states) or in some final state action (such as SELF_INSERT) that resets the
   input state.  The BIND command allows you to completely control this input 
   state machine.

   You may inspect the input state machine by omitting the <action> argument.
   The current action bound to the key sequence will be displayed.  You may
   also omit the key sequence and the entire input state machine will be
   displayed.  Sequences whose final state actions are not interesting 
   (they are bound to NOTHING or to SELF_INSERT) are not displayed.

Examples:
   To bind the QUOTE_CHARACTER function to ^Q (control-Q):
      /bind ^Q quote_character

   To bind the right arrow (ESC-[-C) to FORWARD_CHARACTER:
      /bind ^[ meta1_character
      /bind meta1-[ meta2_character
      /bind meta2-C forward_character

See Also:
   Key_Bindings(7); parsekey(5); rbind(4)

Other Notes:
   Case is important with literal characters with BIND.  However, it is
   not important in control characters.  Thus, 'C' and 'c' are treated
   independently, but '^C' and '^c' are the same.

   Be careful when binding literal keys (such as 'c' alone) to functions.
   If the wrong keys get bound, it may be impossible to unbind them
   without restarting the client.

