# $EPIC: bind,v 1.6 2004/02/26 07:31:29 jnelson Exp $
Synopsis:
   bind <character_sequence> [<action> [<args>]]
   bind -DEFAULTS
   bind -SYMBOLIC <symbolic_name> [<action> [<args>]]]
   bind -RECURSIVE [<character_sequence>]

Description:
   BIND allows you to control how the client behaves when you enter a sequence
   of one or more keys.  By default, the client binds most of the common key
   sequences to useful default values.  You may not necessarily need to bind
   your own key sequences unless you do not like the default values.

   Input to the client is done in sequences of one or more single-byte 
   characters, which, when pressed in sequence, result in a particular
   action being taken.  Sequences can be ambigious or overlap, (you can
   bind ^[a to one action, and ^[ to another action) and the client 
   will attempt to differentiate between ambiguous sequences as best as 
   it reasonably can.  A binding can be deleted by rebinding it to the 
   special action name NOTHING.  Input to the client that does
   not fulfill a bound key sequence is simply ignored.

   Sometimes your terminal will reserve certain control characters for its
   own use and never pass those characters onto application programs.  For
   these characters (such as ^S or ^Q if you're using flow control), the 
   client will let you bind them, but since you can't generate these keys, 
   the bindings would never be used.  This is not a bug in the client, but
   an unfortunate circumstance of having multiple layers of input handling.

   You may want to include an unprintable character in your sequence and 
   your text editor may not allow you to insert that character literally 
   into a file.  You may use the following printable character sequences 
   as substitutes for the unprintable character you want to bind.  Please 
   note that you always have to backslash the \ and ^ characters if you want 
   to use them literally.

        If you want to bind		Use the sequence
	----------------		---------------
	Ascii value 0			^@
	Ascii value 1			^A	or	^a
	Ascii value 2			^B	or	^b
		... and so on ...
        Ascii value 26          	^Z	or	^z
	Ascii value 27 (escape) 	^[	or	\e
	Ascii value 28          	^\\
	Ascii value 29          	^]
	Ascii value 30			^^
	Ascii value 31			^_
	Ascii value 92 (backslash)	\\
	Ascii value 94 (caret)		\^
	Ascii value 127			^?

	Any value 0-255			\nnn	where <nnn> is an octal 
						number from 000 to 177.

   Key bindings are always case sensitive.  Always.

   Try to avoid binding single, printable keys to anything.  By default
   they are bound to SELF_INSERT and you usually want to keep it that way.
   If you really screw things up, BIND -DEFAULTS will reset all of
   your keybindings to the original values, which will fix most problems.

   If possible, it is recommended you use the symbolic name for the key
   (such as 'key_up').

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 ^[[C FORWARD_CHARACTER
   (or better yet)
      /bind -symbolic key_right FORWARD_CHARACTER

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

Other Notes:

