Annotation of embedaddon/readline/doc/readline.0, revision 1.1.1.2

1.1.1.2 ! misho       1: READLINE(3)                Library Functions Manual                READLINE(3)
1.1       misho       2: 
                      3: 
                      4: 
1.1.1.2 ! misho       5: NAME
1.1       misho       6:        readline - get a line from a user with editing
                      7: 
1.1.1.2 ! misho       8: SYNOPSIS
        !             9:        #include <stdio.h>
        !            10:        #include <readline/readline.h>
        !            11:        #include <readline/history.h>
        !            12: 
        !            13:        char *
        !            14:        readline (const char *prompt);
        !            15: 
        !            16: COPYRIGHT
        !            17:        Readline is Copyright (C) 1989-2020 Free Software Foundation,  Inc.
        !            18: 
        !            19: DESCRIPTION
        !            20:        readline will read a line from the terminal and return it, using prompt
        !            21:        as a prompt.  If prompt is NULL or the empty string, no prompt  is  is-
        !            22:        sued.   The  line returned is allocated with malloc(3); the caller must
        !            23:        free it when finished.  The line returned has  the  final  newline  re-
        !            24:        moved, so only the text of the line remains.
1.1       misho      25: 
1.1.1.2 ! misho      26:        readline  offers  editing  capabilities  while the user is entering the
1.1       misho      27:        line.  By default, the line editing commands are similar  to  those  of
                     28:        emacs.  A vi-style line editing interface is also available.
                     29: 
1.1.1.2 ! misho      30:        This  manual  page describes only the most basic use of readline.  Much
        !            31:        more functionality is available; see The GNU Readline Library  and  The
        !            32:        GNU History Library for additional information.
        !            33: 
        !            34: RETURN VALUE
        !            35:        readline  returns  the text of the line read.  A blank line returns the
        !            36:        empty string.  If EOF is encountered while reading a line, and the line
        !            37:        is  empty,  NULL is returned.  If an EOF is read with a non-empty line,
1.1       misho      38:        it is treated as a newline.
                     39: 
1.1.1.2 ! misho      40: NOTATION
1.1       misho      41:        An Emacs-style notation is used to denote keystrokes.  Control keys are
1.1.1.2 ! misho      42:        denoted  by C-key, e.g., C-n means Control-N.  Similarly, meta keys are
        !            43:        denoted by M-key, so M-x means Meta-X.  (On keyboards  without  a  meta
        !            44:        key,  M-x means ESC x, i.e., press the Escape key then the x key.  This
        !            45:        makes ESC the meta prefix.  The combination M-C-x means  ESC-Control-x,
        !            46:        or  press the Escape key then hold the Control key while pressing the x
1.1       misho      47:        key.)
                     48: 
1.1.1.2 ! misho      49:        Readline commands may be given numeric arguments, which normally act as
1.1       misho      50:        a  repeat  count.   Sometimes,  however, it is the sign of the argument
                     51:        that is significant.  Passing a negative argument  to  a  command  that
1.1.1.2 ! misho      52:        acts  in the forward direction (e.g., kill-line) causes that command to
1.1       misho      53:        act in a backward direction.  Commands whose  behavior  with  arguments
1.1.1.2 ! misho      54:        deviates from this are noted below.
1.1       misho      55: 
1.1.1.2 ! misho      56:        When  a command is described as killing text, the text deleted is saved
        !            57:        for possible future retrieval (yanking).  The killed text is saved in a
        !            58:        kill ring.  Consecutive kills cause the text to be accumulated into one
1.1       misho      59:        unit, which can be yanked all at once.  Commands which do not kill text
                     60:        separate the chunks of text on the kill ring.
                     61: 
1.1.1.2 ! misho      62: INITIALIZATION FILE
1.1       misho      63:        Readline  is  customized  by putting commands in an initialization file
1.1.1.2 ! misho      64:        (the inputrc file).  The name of this file is taken from the  value  of
        !            65:        the  INPUTRC  environment variable.  If that variable is unset, the de-
        !            66:        fault is ~/.inputrc.  If that file  does not exist or cannot  be  read,
        !            67:        the  ultimate  default  is /etc/inputrc.  When a program which uses the
1.1       misho      68:        readline library starts up, the init file is read, and the key bindings
                     69:        and  variables  are set.  There are only a few basic constructs allowed
                     70:        in the readline init file.  Blank lines are ignored.   Lines  beginning
1.1.1.2 ! misho      71:        with  a  # are comments.  Lines beginning with a $ indicate conditional
1.1       misho      72:        constructs.  Other lines denote key  bindings  and  variable  settings.
1.1.1.2 ! misho      73:        Each program using this library may add its own commands and bindings.
1.1       misho      74: 
                     75:        For example, placing
                     76: 
                     77:               M-Control-u: universal-argument
                     78:        or
                     79:               C-Meta-u: universal-argument
                     80: 
1.1.1.2 ! misho      81:        into  the inputrc would make M-C-u execute the readline command univer-
        !            82:        sal-argument.
1.1       misho      83: 
1.1.1.2 ! misho      84:        The following symbolic character names are recognized while  processing
        !            85:        key  bindings:  DEL,  ESC,  ESCAPE,  LFD, NEWLINE, RET, RETURN, RUBOUT,
        !            86:        SPACE, SPC, and TAB.
        !            87: 
        !            88:        In addition to command names, readline allows keys to  be  bound  to  a
        !            89:        string that is inserted when the key is pressed (a macro).
        !            90: 
        !            91:    Key Bindings
        !            92:        The  syntax for controlling key bindings in the inputrc file is simple.
        !            93:        All that is required is the name of the command or the text of a  macro
        !            94:        and a key sequence to which it should be bound.  The name may be speci-
        !            95:        fied in one of two ways: as a symbolic key name, possibly with Meta- or
        !            96:        Control- prefixes, or as a key sequence.  The name and key sequence are
        !            97:        separated by a colon.  There can be no whitespace between the name  and
1.1       misho      98:        the colon.
                     99: 
1.1.1.2 ! misho     100:        When using the form keyname:function-name or macro, keyname is the name
1.1       misho     101:        of a key spelled out in English.  For example:
                    102: 
                    103:               Control-u: universal-argument
                    104:               Meta-Rubout: backward-kill-word
                    105:               Control-o: "> output"
                    106: 
1.1.1.2 ! misho     107:        In the above example, C-u is bound to the function  universal-argument,
        !           108:        M-DEL  is bound to the function backward-kill-word, and C-o is bound to
        !           109:        run the macro expressed on the right hand side (that is, to insert  the
1.1       misho     110:        text ``> output'' into the line).
                    111: 
1.1.1.2 ! misho     112:        In  the  second  form,  "keyseq":function-name or macro, keyseq differs
        !           113:        from keyname above in that strings denoting an entire key sequence  may
        !           114:        be  specified  by  placing the sequence within double quotes.  Some GNU
        !           115:        Emacs style key escapes can be used, as in the following  example,  but
1.1       misho     116:        the symbolic character names are not recognized.
                    117: 
                    118:               "\C-u": universal-argument
                    119:               "\C-x\C-r": re-read-init-file
                    120:               "\e[11~": "Function Key 1"
                    121: 
1.1.1.2 ! misho     122:        In this example, C-u is again bound to the function universal-argument.
        !           123:        C-x C-r is bound to the function re-read-init-file, and ESC [ 1 1 ~  is
1.1       misho     124:        bound to insert the text ``Function Key 1''.
                    125: 
1.1.1.2 ! misho     126:        The  full set of GNU Emacs style escape sequences available when speci-
1.1       misho     127:        fying key sequences is
1.1.1.2 ! misho     128:               \C-    control prefix
        !           129:               \M-    meta prefix
        !           130:               \e     an escape character
        !           131:               \\     backslash
        !           132:               \"     literal ", a double quote
        !           133:               \'     literal ', a single quote
1.1       misho     134: 
1.1.1.2 ! misho     135:        In addition to the GNU Emacs style escape sequences, a  second  set  of
1.1       misho     136:        backslash escapes is available:
1.1.1.2 ! misho     137:               \a     alert (bell)
        !           138:               \b     backspace
        !           139:               \d     delete
        !           140:               \f     form feed
        !           141:               \n     newline
        !           142:               \r     carriage return
        !           143:               \t     horizontal tab
        !           144:               \v     vertical tab
        !           145:               \nnn   the  eight-bit  character  whose value is the octal value
        !           146:                      nnn (one to three digits)
        !           147:               \xHH   the eight-bit character whose value  is  the  hexadecimal
        !           148:                      value HH (one or two hex digits)
        !           149: 
        !           150:        When  entering  the  text of a macro, single or double quotes should be
        !           151:        used to indicate a macro definition.  Unquoted text is assumed to be  a
        !           152:        function  name.   In  the  macro  body, the backslash escapes described
        !           153:        above are expanded.  Backslash will quote any other  character  in  the
1.1       misho     154:        macro text, including " and '.
                    155: 
1.1.1.2 ! misho     156:        Bash  allows the current readline key bindings to be displayed or modi-
        !           157:        fied with the bind builtin command.  The editing mode may  be  switched
        !           158:        during  interactive  use by using the -o option to the set builtin com-
        !           159:        mand.  Other programs using this library  provide  similar  mechanisms.
        !           160:        The  inputrc  file may be edited and re-read if a program does not pro-
1.1       misho     161:        vide any other means to incorporate new bindings.
                    162: 
1.1.1.2 ! misho     163:    Variables
1.1       misho     164:        Readline has variables that can be used to further customize its behav-
1.1.1.2 ! misho     165:        ior.  A variable may be set in the inputrc file with a statement of the
1.1       misho     166:        form
                    167: 
1.1.1.2 ! misho     168:               set variable-name value
1.1       misho     169: 
1.1.1.2 ! misho     170:        Except where noted, readline variables can take the values  On  or  Off
        !           171:        (without  regard  to  case).   Unrecognized variable names are ignored.
        !           172:        When a variable value is read, empty or null values, "on"  (case-insen-
        !           173:        sitive), and "1" are equivalent to On.  All other values are equivalent
        !           174:        to Off.  The variables and their default values are:
        !           175: 
        !           176:        bell-style (audible)
        !           177:               Controls what happens when readline wants to ring  the  terminal
        !           178:               bell.  If set to none, readline never rings the bell.  If set to
        !           179:               visible, readline uses a visible bell if one is  available.   If
        !           180:               set to audible, readline attempts to ring the terminal's bell.
        !           181:        bind-tty-special-chars (On)
        !           182:               If  set  to On (the default), readline attempts to bind the con-
        !           183:               trol characters   treated specially  by  the  kernel's  terminal
        !           184:               driver to their readline equivalents.
        !           185:        blink-matching-paren (Off)
        !           186:               If set to On, readline attempts to briefly move the cursor to an
        !           187:               opening parenthesis when a closing parenthesis is inserted.
        !           188:        colored-completion-prefix (Off)
        !           189:               If set to On, when listing completions,  readline  displays  the
        !           190:               common prefix of the set of possible completions using a differ-
        !           191:               ent color.  The color definitions are taken from  the  value  of
        !           192:               the LS_COLORS environment variable.
        !           193:        colored-stats (Off)
        !           194:               If  set to On, readline displays possible completions using dif-
        !           195:               ferent colors to indicate their file type.   The  color  defini-
        !           196:               tions  are  taken  from  the  value of the LS_COLORS environment
1.1       misho     197:               variable.
1.1.1.2 ! misho     198:        comment-begin (``#'')
        !           199:               The string that is inserted in vi mode when  the  insert-comment
        !           200:               command is executed.  This command is bound to M-# in emacs mode
        !           201:               and to # in vi command mode.
        !           202:        completion-display-width (-1)
        !           203:               The number of screen columns used to  display  possible  matches
        !           204:               when  performing completion.  The value is ignored if it is less
        !           205:               than 0 or greater than the terminal screen width.  A value of  0
        !           206:               will  cause  matches  to be displayed one per line.  The default
1.1       misho     207:               value is -1.
1.1.1.2 ! misho     208:        completion-ignore-case (Off)
        !           209:               If set to On, readline performs filename matching and completion
1.1       misho     210:               in a case-insensitive fashion.
1.1.1.2 ! misho     211:        completion-map-case (Off)
        !           212:               If  set  to  On, and completion-ignore-case is enabled, readline
        !           213:               treats hyphens (-) and underscores (_) as equivalent  when  per-
1.1       misho     214:               forming case-insensitive filename matching and completion.
1.1.1.2 ! misho     215:        completion-prefix-display-length (0)
        !           216:               The  length in characters of the common prefix of a list of pos-
        !           217:               sible completions that is displayed without modification.   When
        !           218:               set  to  a  value greater than zero, common prefixes longer than
        !           219:               this value are replaced with an ellipsis when displaying  possi-
1.1       misho     220:               ble completions.
1.1.1.2 ! misho     221:        completion-query-items (100)
        !           222:               This  determines when the user is queried about viewing the num-
        !           223:               ber of possible completions generated  by  the  possible-comple-
        !           224:               tions  command.  It may be set to any integer value greater than
        !           225:               or equal to zero.  If the  number  of  possible  completions  is
        !           226:               greater  than  or  equal to the value of this variable, readline
        !           227:               will ask whether or not the user wishes to view them;  otherwise
        !           228:               they are simply listed on the terminal.  A negative value causes
        !           229:               readline to never ask.
        !           230:        convert-meta (On)
        !           231:               If set to On, readline will convert characters with  the  eighth
1.1       misho     232:               bit set to an ASCII key sequence by stripping the eighth bit and
1.1.1.2 ! misho     233:               prefixing it with an escape character (in effect,  using  escape
        !           234:               as  the  meta prefix).  The default is On, but readline will set
        !           235:               it to Off if the locale contains eight-bit characters.
        !           236:        disable-completion (Off)
        !           237:               If set to On, readline will inhibit word completion.  Completion
1.1       misho     238:               characters  will  be  inserted into the line as if they had been
1.1.1.2 ! misho     239:               mapped to self-insert.
        !           240:        echo-control-characters (On)
        !           241:               When set to On, on operating systems that indicate they  support
1.1       misho     242:               it, readline echoes a character corresponding to a signal gener-
                    243:               ated from the keyboard.
1.1.1.2 ! misho     244:        editing-mode (emacs)
        !           245:               Controls whether readline begins with a set of key bindings sim-
        !           246:               ilar to Emacs or vi.  editing-mode can be set to either emacs or
        !           247:               vi.
        !           248:        emacs-mode-string (@)
        !           249:               If the show-mode-in-prompt variable is enabled, this  string  is
        !           250:               displayed immediately before the last line of the primary prompt
        !           251:               when emacs editing mode is active.  The value is expanded like a
        !           252:               key  binding,  so the standard set of meta- and control prefixes
        !           253:               and backslash escape sequences is available.  Use the \1 and  \2
        !           254:               escapes  to  begin and end sequences of non-printing characters,
        !           255:               which can be used to embed a terminal control sequence into  the
        !           256:               mode string.
        !           257:        enable-bracketed-paste (On)
        !           258:               When  set  to  On, readline will configure the terminal in a way
        !           259:               that will enable it to insert each paste into the editing buffer
        !           260:               as a single string of characters, instead of treating each char-
        !           261:               acter as if it had been read from the keyboard.  This  can  pre-
        !           262:               vent  pasted  characters  from being interpreted as editing com-
        !           263:               mands.
        !           264:        enable-keypad (Off)
        !           265:               When set to On, readline will try to enable the application key-
        !           266:               pad when it is called.  Some systems need this to enable the ar-
        !           267:               row keys.
        !           268:        enable-meta-key (On)
        !           269:               When set to On, readline will try to enable  any  meta  modifier
1.1       misho     270:               key  the  terminal claims to support when it is called.  On many
                    271:               terminals, the meta key is used to send eight-bit characters.
1.1.1.2 ! misho     272:        expand-tilde (Off)
        !           273:               If set to On, tilde expansion is  performed  when  readline  at-
        !           274:               tempts word completion.
        !           275:        history-preserve-point (Off)
        !           276:               If  set  to  On, the history code attempts to place point at the
        !           277:               same location on each history line retrieved with  previous-his-
        !           278:               tory or next-history.
        !           279:        history-size (unset)
1.1       misho     280:               Set  the  maximum number of history entries saved in the history
                    281:               list.  If set to zero, any existing history entries are  deleted
                    282:               and no new entries are saved.  If set to a value less than zero,
                    283:               the number of history entries is not limited.  By  default,  the
1.1.1.2 ! misho     284:               number of history entries is not limited.  If an attempt is made
        !           285:               to set history-size to a non-numeric value, the  maximum  number
        !           286:               of history entries will be set to 500.
        !           287:        horizontal-scroll-mode (Off)
        !           288:               When  set  to  On, makes readline use a single line for display,
1.1       misho     289:               scrolling the input horizontally on a single screen line when it
                    290:               becomes  longer  than the screen width rather than wrapping to a
1.1.1.2 ! misho     291:               new line.  This setting is automatically enabled  for  terminals
        !           292:               of height 1.
        !           293:        input-meta (Off)
        !           294:               If  set to On, readline will enable eight-bit input (that is, it
        !           295:               will not clear the eighth bit in the characters it  reads),  re-
        !           296:               gardless  of  what the terminal claims it can support.  The name
        !           297:               meta-flag is a synonym for this variable.  The default  is  Off,
        !           298:               but  readline will set it to On if the locale contains eight-bit
        !           299:               characters.
        !           300:        isearch-terminators (``C-[ C-J'')
        !           301:               The string of characters that should  terminate  an  incremental
        !           302:               search  without  subsequently  executing the character as a com-
        !           303:               mand.  If this variable has not been given a value, the  charac-
        !           304:               ters ESC and C-J will terminate an incremental search.
        !           305:        keymap (emacs)
        !           306:               Set  the current readline keymap.  The set of legal keymap names
        !           307:               is emacs, emacs-standard, emacs-meta, emacs-ctlx,  vi,  vi-move,
        !           308:               vi-command,  and  vi-insert.   vi  is  equivalent to vi-command;
        !           309:               emacs is equivalent to emacs-standard.   The  default  value  is
        !           310:               emacs.   The  value  of  editing-mode  also  affects the default
1.1       misho     311:               keymap.
1.1.1.2 ! misho     312:        keyseq-timeout (500)
        !           313:               Specifies the duration readline will wait for a  character  when
        !           314:               reading  an ambiguous key sequence (one that can form a complete
1.1       misho     315:               key sequence using the input read so far, or can take additional
1.1.1.2 ! misho     316:               input  to  complete  a longer key sequence).  If no input is re-
        !           317:               ceived within the timeout, readline will  use  the  shorter  but
        !           318:               complete  key sequence.  The value is specified in milliseconds,
        !           319:               so a value of 1000 means that readline will wait one second  for
        !           320:               additional  input.  If this variable is set to a value less than
        !           321:               or equal to zero, or to a non-numeric value, readline will  wait
        !           322:               until  another  key  is  pressed to decide which key sequence to
1.1       misho     323:               complete.
1.1.1.2 ! misho     324:        mark-directories (On)
        !           325:               If set to On, completed directory names have a slash appended.
        !           326:        mark-modified-lines (Off)
        !           327:               If set to On, history lines that have  been  modified  are  dis-
        !           328:               played with a preceding asterisk (*).
        !           329:        mark-symlinked-directories (Off)
        !           330:               If set to On, completed names which are symbolic links to direc-
        !           331:               tories have a slash appended (subject to the value  of  mark-di-
        !           332:               rectories).
        !           333:        match-hidden-files (On)
        !           334:               This  variable,  when  set to On, causes readline to match files
        !           335:               whose names begin with a  `.'  (hidden  files)  when  performing
        !           336:               filename  completion.   If  set  to Off, the leading `.' must be
1.1       misho     337:               supplied by the user in the filename to be completed.
1.1.1.2 ! misho     338:        menu-complete-display-prefix (Off)
        !           339:               If set to On, menu completion displays the common prefix of  the
1.1       misho     340:               list of possible completions (which may be empty) before cycling
                    341:               through the list.
1.1.1.2 ! misho     342:        output-meta (Off)
        !           343:               If set to On, readline will display characters with  the  eighth
1.1       misho     344:               bit set directly rather than as a meta-prefixed escape sequence.
1.1.1.2 ! misho     345:               The default is Off, but readline will set it to On if the locale
        !           346:               contains eight-bit characters.
        !           347:        page-completions (On)
        !           348:               If  set to On, readline uses an internal more-like pager to dis-
1.1       misho     349:               play a screenful of possible completions at a time.
1.1.1.2 ! misho     350:        print-completions-horizontally (Off)
        !           351:               If set to On, readline will  display  completions  with  matches
1.1       misho     352:               sorted  horizontally in alphabetical order, rather than down the
                    353:               screen.
1.1.1.2 ! misho     354:        revert-all-at-newline (Off)
        !           355:               If set to On, readline will undo all changes  to  history  lines
        !           356:               before returning when accept-line is executed.  By default, his-
1.1       misho     357:               tory lines may be modified  and  retain  individual  undo  lists
1.1.1.2 ! misho     358:               across calls to readline.
        !           359:        show-all-if-ambiguous (Off)
1.1       misho     360:               This  alters  the  default behavior of the completion functions.
1.1.1.2 ! misho     361:               If set to On, words which have more than one possible completion
1.1       misho     362:               cause  the  matches  to be listed immediately instead of ringing
                    363:               the bell.
1.1.1.2 ! misho     364:        show-all-if-unmodified (Off)
1.1       misho     365:               This alters the default behavior of the completion functions  in
1.1.1.2 ! misho     366:               a fashion similar to show-all-if-ambiguous.  If set to On, words
1.1       misho     367:               which have more than one possible completion without any  possi-
                    368:               ble  partial  completion (the possible completions don't share a
1.1.1.2 ! misho     369:               common prefix) cause the matches to be  listed  immediately  in-
        !           370:               stead of ringing the bell.
        !           371:        show-mode-in-prompt (Off)
        !           372:               If  set to On, add a string to the beginning of the prompt indi-
        !           373:               cating the editing mode: emacs, vi  command,  or  vi  insertion.
        !           374:               The mode strings are user-settable (e.g., emacs-mode-string).
        !           375:        skip-completed-text (Off)
        !           376:               If  set  to On, this alters the default completion behavior when
1.1       misho     377:               inserting a single match into the line.  It's only  active  when
                    378:               performing  completion  in  the  middle  of a word.  If enabled,
                    379:               readline does not insert characters  from  the  completion  that
                    380:               match  characters  after  point  in the word being completed, so
                    381:               portions of the word following the cursor are not duplicated.
1.1.1.2 ! misho     382:        vi-cmd-mode-string ((cmd))
        !           383:               If the show-mode-in-prompt variable is enabled, this  string  is
        !           384:               displayed immediately before the last line of the primary prompt
        !           385:               when vi editing mode is active and in command mode.   The  value
        !           386:               is expanded like a key binding, so the standard set of meta- and
        !           387:               control prefixes and backslash escape  sequences  is  available.
        !           388:               Use  the  \1  and  \2 escapes to begin and end sequences of non-
        !           389:               printing characters, which can be used to embed a terminal  con-
        !           390:               trol sequence into the mode string.
        !           391:        vi-ins-mode-string ((ins))
        !           392:               If  the  show-mode-in-prompt variable is enabled, this string is
        !           393:               displayed immediately before the last line of the primary prompt
        !           394:               when vi editing mode is active and in insertion mode.  The value
        !           395:               is expanded like a key binding, so the standard set of meta- and
        !           396:               control  prefixes  and  backslash escape sequences is available.
        !           397:               Use the \1 and \2 escapes to begin and  end  sequences  of  non-
        !           398:               printing  characters, which can be used to embed a terminal con-
        !           399:               trol sequence into the mode string.
        !           400:        visible-stats (Off)
        !           401:               If set to On, a character denoting a file's type as reported  by
        !           402:               stat(2)  is  appended to the filename when listing possible com-
1.1       misho     403:               pletions.
                    404: 
1.1.1.2 ! misho     405:    Conditional Constructs
1.1       misho     406:        Readline implements a facility similar in  spirit  to  the  conditional
                    407:        compilation  features  of  the C preprocessor which allows key bindings
                    408:        and variable settings to be performed as the result  of  tests.   There
                    409:        are four parser directives used.
                    410: 
1.1.1.2 ! misho     411:        $if    The  $if construct allows bindings to be made based on the edit-
1.1       misho     412:               ing mode, the terminal being  used,  or  the  application  using
1.1.1.2 ! misho     413:               readline.   The text of the test, after any comparison operator,
        !           414:               extends to the end of the line; unless otherwise noted, no char-
        !           415:               acters are required to isolate it.
        !           416: 
        !           417:               mode   The  mode=  form  of  the  $if  directive is used to test
        !           418:                      whether readline is in emacs or vi  mode.   This  may  be
        !           419:                      used  in conjunction with the set keymap command, for in-
        !           420:                      stance, to set bindings in the emacs-standard and  emacs-
        !           421:                      ctlx  keymaps  only  if readline is starting out in emacs
        !           422:                      mode.
1.1       misho     423: 
1.1.1.2 ! misho     424:               term   The term= form may be used to  include  terminal-specific
1.1       misho     425:                      key bindings, perhaps to bind the key sequences output by
                    426:                      the terminal's function keys.  The word on the right side
1.1.1.2 ! misho     427:                      of  the = is tested against the full name of the terminal
        !           428:                      and the portion of the terminal name before the first  -.
        !           429:                      This  allows  sun  to match both sun and sun-cmd, for in-
        !           430:                      stance.
        !           431: 
        !           432:               version
        !           433:                      The version test  may  be  used  to  perform  comparisons
        !           434:                      against  specific readline versions.  The version expands
        !           435:                      to the current readline version.  The set  of  comparison
        !           436:                      operators  includes  =,  (and  ==), !=, <=, >=, <, and >.
        !           437:                      The version number supplied on the right side of the  op-
        !           438:                      erator  consists  of  a major version number, an optional
        !           439:                      decimal point, and an optional minor version (e.g., 7.1).
        !           440:                      If  the  minor version is omitted, it is assumed to be 0.
        !           441:                      The operator may be separated from the string version and
        !           442:                      from the version number argument by whitespace.
        !           443: 
        !           444:               application
        !           445:                      The application construct is used to include application-
        !           446:                      specific settings.  Each program using the  readline  li-
        !           447:                      brary  sets  the  application name, and an initialization
1.1       misho     448:                      file can test for a particular value.  This could be used
                    449:                      to  bind key sequences to functions useful for a specific
                    450:                      program.  For instance, the following command adds a  key
                    451:                      sequence  that  quotes  the  current  or previous word in
1.1.1.2 ! misho     452:                      bash:
1.1       misho     453: 
1.1.1.2 ! misho     454:                      $if Bash
1.1       misho     455:                      # Quote the current or previous word
                    456:                      "\C-xq": "\eb\"\ef\""
1.1.1.2 ! misho     457:                      $endif
        !           458: 
        !           459:               variable
        !           460:                      The variable construct provides simple equality tests for
        !           461:                      readline  variables and values.  The permitted comparison
        !           462:                      operators are =, ==, and !=.  The variable name  must  be
        !           463:                      separated from the comparison operator by whitespace; the
        !           464:                      operator may be separated from the  value  on  the  right
        !           465:                      hand  side  by whitespace.  Both string and boolean vari-
        !           466:                      ables may be tested. Boolean  variables  must  be  tested
        !           467:                      against the values on and off.
1.1       misho     468: 
1.1.1.2 ! misho     469:        $endif This command, as seen in the previous example, terminates an $if
1.1       misho     470:               command.
                    471: 
1.1.1.2 ! misho     472:        $else  Commands in this branch of the $if directive are executed if the
1.1       misho     473:               test fails.
                    474: 
1.1.1.2 ! misho     475:        $include
        !           476:               This  directive takes a single filename as an argument and reads
        !           477:               commands and bindings from that file.  For example, the  follow-
        !           478:               ing directive would read /etc/inputrc:
        !           479: 
        !           480:               $include  /etc/inputrc
        !           481: 
        !           482: SEARCHING
        !           483:        Readline  provides  commands  for searching through the command history
        !           484:        for lines containing a specified string.  There are two  search  modes:
        !           485:        incremental and non-incremental.
1.1       misho     486: 
1.1.1.2 ! misho     487:        Incremental  searches  begin  before  the  user has finished typing the
        !           488:        search string.  As each character of the search string is typed,  read-
1.1       misho     489:        line displays the next entry from the history matching the string typed
1.1.1.2 ! misho     490:        so far.  An incremental search requires  only  as  many  characters  as
        !           491:        needed  to  find  the desired history entry.  To search backward in the
        !           492:        history for a particular string, type C-r.  Typing C-s searches forward
        !           493:        through  the  history.   The  characters  present  in  the value of the
        !           494:        isearch-terminators variable  are  used  to  terminate  an  incremental
        !           495:        search.   If that variable has not been assigned a value the Escape and
        !           496:        C-J characters will terminate an incremental search.  C-G will abort an
        !           497:        incremental  search  and restore the original line.  When the search is
        !           498:        terminated, the history entry containing the search string becomes  the
1.1       misho     499:        current line.
                    500: 
1.1.1.2 ! misho     501:        To  find other matching entries in the history list, type C-s or C-r as
        !           502:        appropriate.  This will search backward or forward in the  history  for
        !           503:        the  next  line matching the search string typed so far.  Any other key
1.1       misho     504:        sequence bound to a readline command will terminate the search and exe-
1.1.1.2 ! misho     505:        cute  that  command.  For instance, a newline will terminate the search
        !           506:        and accept the line, thereby executing the  command  from  the  history
1.1       misho     507:        list.  A movement command will terminate the search, make the last line
                    508:        found the current line, and begin editing.
                    509: 
1.1.1.2 ! misho     510:        Non-incremental searches read the entire search string before  starting
        !           511:        to  search  for matching history lines.  The search string may be typed
1.1       misho     512:        by the user or be part of the contents of the current line.
                    513: 
1.1.1.2 ! misho     514: EDITING COMMANDS
        !           515:        The following is a list of the names of the commands  and  the  default
1.1       misho     516:        key sequences to which they are bound.  Command names without an accom-
                    517:        panying key sequence are unbound by default.
                    518: 
1.1.1.2 ! misho     519:        In the following descriptions, point refers to the current cursor posi-
        !           520:        tion,  and  mark refers to a cursor position saved by the set-mark com-
        !           521:        mand.  The text between the point and mark is referred to  as  the  re-
        !           522:        gion.
1.1       misho     523: 
1.1.1.2 ! misho     524:    Commands for Moving
        !           525:        beginning-of-line (C-a)
1.1       misho     526:               Move to the start of the current line.
1.1.1.2 ! misho     527:        end-of-line (C-e)
1.1       misho     528:               Move to the end of the line.
1.1.1.2 ! misho     529:        forward-char (C-f)
1.1       misho     530:               Move forward a character.
1.1.1.2 ! misho     531:        backward-char (C-b)
1.1       misho     532:               Move back a character.
1.1.1.2 ! misho     533:        forward-word (M-f)
1.1       misho     534:               Move forward to the end of the next word.  Words are composed of
                    535:               alphanumeric characters (letters and digits).
1.1.1.2 ! misho     536:        backward-word (M-b)
        !           537:               Move back to the start of the current or previous  word.   Words
1.1       misho     538:               are composed of alphanumeric characters (letters and digits).
1.1.1.2 ! misho     539:        previous-screen-line
        !           540:               Attempt  to move point to the same physical screen column on the
        !           541:               previous physical screen line. This will not  have  the  desired
        !           542:               effect  if  the current Readline line does not take up more than
        !           543:               one physical line or if point is not greater than the length  of
        !           544:               the prompt plus the screen width.
        !           545:        next-screen-line
        !           546:               Attempt  to move point to the same physical screen column on the
        !           547:               next physical screen line. This will not have the desired effect
        !           548:               if  the  current  Readline  line  does not take up more than one
        !           549:               physical line or if the length of the current Readline  line  is
        !           550:               not greater than the length of the prompt plus the screen width.
        !           551:        clear-display (M-C-l)
        !           552:               Clear  the  screen  and,  if possible, the terminal's scrollback
        !           553:               buffer, then redraw the current line, leaving the  current  line
        !           554:               at the top of the screen.
        !           555:        clear-screen (C-l)
        !           556:               Clear the screen, then redraw the current line, leaving the cur-
        !           557:               rent line at the top of the screen.  With an  argument,  refresh
        !           558:               the current line without clearing the screen.
        !           559:        redraw-current-line
1.1       misho     560:               Refresh the current line.
                    561: 
1.1.1.2 ! misho     562:    Commands for Manipulating the History
        !           563:        accept-line (Newline, Return)
1.1       misho     564:               Accept the line regardless of where the cursor is.  If this line
1.1.1.2 ! misho     565:               is non-empty, it may be added to the history list for future re-
        !           566:               call  with  add_history().   If  the  line is a modified history
1.1       misho     567:               line, the history line is restored to its original state.
1.1.1.2 ! misho     568:        previous-history (C-p)
1.1       misho     569:               Fetch the previous command from the history list, moving back in
                    570:               the list.
1.1.1.2 ! misho     571:        next-history (C-n)
        !           572:               Fetch  the next command from the history list, moving forward in
1.1       misho     573:               the list.
1.1.1.2 ! misho     574:        beginning-of-history (M-<)
1.1       misho     575:               Move to the first line in the history.
1.1.1.2 ! misho     576:        end-of-history (M->)
        !           577:               Move to the end of the input history, i.e., the  line  currently
1.1       misho     578:               being entered.
1.1.1.2 ! misho     579:        reverse-search-history (C-r)
        !           580:               Search  backward  starting  at  the current line and moving `up'
        !           581:               through the  history  as  necessary.   This  is  an  incremental
1.1       misho     582:               search.
1.1.1.2 ! misho     583:        forward-search-history (C-s)
        !           584:               Search  forward  starting  at the current line and moving `down'
        !           585:               through the  history  as  necessary.   This  is  an  incremental
1.1       misho     586:               search.
1.1.1.2 ! misho     587:        non-incremental-reverse-search-history (M-p)
1.1       misho     588:               Search backward through the history starting at the current line
1.1.1.2 ! misho     589:               using a non-incremental search for  a  string  supplied  by  the
1.1       misho     590:               user.
1.1.1.2 ! misho     591:        non-incremental-forward-search-history (M-n)
        !           592:               Search  forward  through  the  history  using  a non-incremental
1.1       misho     593:               search for a string supplied by the user.
1.1.1.2 ! misho     594:        history-search-backward
1.1       misho     595:               Search backward through the history for the string of characters
1.1.1.2 ! misho     596:               between the start of the current line and the current cursor po-
        !           597:               sition (the point).  The search string must match at the  begin-
        !           598:               ning of a history line.  This is a non-incremental search.
        !           599:        history-search-forward
1.1       misho     600:               Search  forward through the history for the string of characters
                    601:               between the start of the current line and the point.  The search
                    602:               string must match at the beginning of a history line.  This is a
                    603:               non-incremental search.
1.1.1.2 ! misho     604:        history-substring-search-backward
1.1       misho     605:               Search backward through the history for the string of characters
1.1.1.2 ! misho     606:               between the start of the current line and the current cursor po-
        !           607:               sition (the point).  The search string may match anywhere  in  a
1.1       misho     608:               history line.  This is a non-incremental search.
1.1.1.2 ! misho     609:        history-substring-search-forward
1.1       misho     610:               Search  forward through the history for the string of characters
                    611:               between the start of the current line and the point.  The search
1.1.1.2 ! misho     612:               string  may match anywhere in a history line.  This is a non-in-
        !           613:               cremental search.
        !           614:        yank-nth-arg (M-C-y)
1.1       misho     615:               Insert the first argument to the previous command  (usually  the
1.1.1.2 ! misho     616:               second word on the previous line) at point.  With an argument n,
        !           617:               insert the nth word from the previous command (the words in  the
        !           618:               previous  command  begin  with word 0).  A negative argument in-
        !           619:               serts the nth word from the end of the previous  command.   Once
        !           620:               the  argument n is computed, the argument is extracted as if the
        !           621:               "!n" history expansion had been specified.
        !           622:        yank-last-arg (M-., M-_)
1.1       misho     623:               Insert the last argument to the previous command (the last  word
                    624:               of the previous history entry).  With a numeric argument, behave
1.1.1.2 ! misho     625:               exactly like yank-nth-arg.  Successive  calls  to  yank-last-arg
1.1       misho     626:               move  back through the history list, inserting the last word (or
                    627:               the word specified by the argument to the first  call)  of  each
                    628:               line in turn.  Any numeric argument supplied to these successive
                    629:               calls determines the direction to move through the  history.   A
                    630:               negative  argument  switches  the  direction through the history
                    631:               (back or forward).  The history expansion facilities are used to
                    632:               extract  the last argument, as if the "!$" history expansion had
                    633:               been specified.
1.1.1.2 ! misho     634:        operate-and-get-next (C-o)
        !           635:               Accept the current line for return to the calling application as
        !           636:               if  a newline had been entered, and fetch the next line relative
        !           637:               to the current line from the history for editing.  A numeric ar-
        !           638:               gument,  if supplied, specifies the history entry to use instead
        !           639:               of the current line.
1.1       misho     640: 
1.1.1.2 ! misho     641:    Commands for Changing Text
        !           642:        end-of-file (usually C-d)
1.1       misho     643:               The character indicating end-of-file as  set,  for  example,  by
                    644:               ``stty''.   If  this character is read when there are no charac-
                    645:               ters on the line, and point is at the  beginning  of  the  line,
1.1.1.2 ! misho     646:               Readline interprets it as the end of input and returns EOF.
        !           647:        delete-char (C-d)
1.1       misho     648:               Delete the character at point.  If this function is bound to the
1.1.1.2 ! misho     649:               same character as the tty EOF character, as C-d commonly is, see
1.1       misho     650:               above for the effects.
1.1.1.2 ! misho     651:        backward-delete-char (Rubout)
1.1       misho     652:               Delete  the  character  behind the cursor.  When given a numeric
                    653:               argument, save the deleted text on the kill ring.
1.1.1.2 ! misho     654:        forward-backward-delete-char
1.1       misho     655:               Delete the character under the cursor, unless the cursor  is  at
                    656:               the end of the line, in which case the character behind the cur-
                    657:               sor is deleted.
1.1.1.2 ! misho     658:        quoted-insert (C-q, C-v)
1.1       misho     659:               Add the next character that you type to the line verbatim.  This
1.1.1.2 ! misho     660:               is how to insert characters like C-q, for example.
        !           661:        tab-insert (M-TAB)
1.1       misho     662:               Insert a tab character.
1.1.1.2 ! misho     663:        self-insert (a, b, A, 1, !, ...)
1.1       misho     664:               Insert the character typed.
1.1.1.2 ! misho     665:        transpose-chars (C-t)
1.1       misho     666:               Drag  the  character  before point forward over the character at
                    667:               point, moving point forward as well.  If point is at the end  of
                    668:               the  line, then this transposes the two characters before point.
                    669:               Negative arguments have no effect.
1.1.1.2 ! misho     670:        transpose-words (M-t)
1.1       misho     671:               Drag the word before point past the  word  after  point,  moving
                    672:               point  over  that  word  as well.  If point is at the end of the
                    673:               line, this transposes the last two words on the line.
1.1.1.2 ! misho     674:        upcase-word (M-u)
        !           675:               Uppercase the current (or following) word.  With a negative  ar-
        !           676:               gument, uppercase the previous word, but do not move point.
        !           677:        downcase-word (M-l)
        !           678:               Lowercase  the current (or following) word.  With a negative ar-
        !           679:               gument, lowercase the previous word, but do not move point.
        !           680:        capitalize-word (M-c)
        !           681:               Capitalize the current (or following) word.  With a negative ar-
        !           682:               gument, capitalize the previous word, but do not move point.
        !           683:        overwrite-mode
1.1       misho     684:               Toggle  overwrite mode.  With an explicit positive numeric argu-
                    685:               ment, switches to overwrite mode.  With an explicit non-positive
                    686:               numeric argument, switches to insert mode.  This command affects
1.1.1.2 ! misho     687:               only emacs mode; vi mode does overwrite differently.  Each  call
        !           688:               to readline() starts in insert mode.  In overwrite mode, charac-
        !           689:               ters bound to self-insert replace the text at point rather  than
        !           690:               pushing  the  text  to  the  right.   Characters  bound to back-
        !           691:               ward-delete-char replace  the  character  before  point  with  a
1.1       misho     692:               space.  By default, this command is unbound.
                    693: 
1.1.1.2 ! misho     694:    Killing and Yanking
        !           695:        kill-line (C-k)
1.1       misho     696:               Kill the text from point to the end of the line.
1.1.1.2 ! misho     697:        backward-kill-line (C-x Rubout)
1.1       misho     698:               Kill backward to the beginning of the line.
1.1.1.2 ! misho     699:        unix-line-discard (C-u)
1.1       misho     700:               Kill  backward  from  point  to  the beginning of the line.  The
                    701:               killed text is saved on the kill-ring.
1.1.1.2 ! misho     702:        kill-whole-line
1.1       misho     703:               Kill all characters on the current line, no matter  where  point
                    704:               is.
1.1.1.2 ! misho     705:        kill-word (M-d)
1.1       misho     706:               Kill  from  point  the  end  of  the current word, or if between
                    707:               words, to the end of the next word.   Word  boundaries  are  the
1.1.1.2 ! misho     708:               same as those used by forward-word.
        !           709:        backward-kill-word (M-Rubout)
1.1       misho     710:               Kill  the  word  behind  point.  Word boundaries are the same as
1.1.1.2 ! misho     711:               those used by backward-word.
        !           712:        unix-word-rubout (C-w)
1.1       misho     713:               Kill the word behind point, using white space as a  word  bound-
                    714:               ary.  The killed text is saved on the kill-ring.
1.1.1.2 ! misho     715:        unix-filename-rubout
1.1       misho     716:               Kill  the  word  behind  point,  using white space and the slash
                    717:               character as the word boundaries.  The killed text is  saved  on
                    718:               the kill-ring.
1.1.1.2 ! misho     719:        delete-horizontal-space (M-\)
1.1       misho     720:               Delete all spaces and tabs around point.
1.1.1.2 ! misho     721:        kill-region
        !           722:               Kill  the  text  between  the point and mark (saved cursor posi-
        !           723:               tion).  This text is referred to as the region.
        !           724:        copy-region-as-kill
1.1       misho     725:               Copy the text in the region to the kill buffer.
1.1.1.2 ! misho     726:        copy-backward-word
1.1       misho     727:               Copy the word before point to the kill buffer.  The word  bound-
1.1.1.2 ! misho     728:               aries are the same as backward-word.
        !           729:        copy-forward-word
1.1       misho     730:               Copy  the  word  following  point  to the kill buffer.  The word
1.1.1.2 ! misho     731:               boundaries are the same as forward-word.
        !           732:        yank (C-y)
1.1       misho     733:               Yank the top of the kill ring into the buffer at point.
1.1.1.2 ! misho     734:        yank-pop (M-y)
1.1       misho     735:               Rotate the kill ring, and yank the new top.  Only works  follow-
1.1.1.2 ! misho     736:               ing yank or yank-pop.
1.1       misho     737: 
1.1.1.2 ! misho     738:    Numeric Arguments
        !           739:        digit-argument (M-0, M-1, ..., M--)
1.1       misho     740:               Add  this digit to the argument already accumulating, or start a
                    741:               new argument.  M-- starts a negative argument.
1.1.1.2 ! misho     742:        universal-argument
1.1       misho     743:               This is another way to specify an argument.  If this command  is
                    744:               followed  by one or more digits, optionally with a leading minus
                    745:               sign, those digits define the argument.  If the command is  fol-
1.1.1.2 ! misho     746:               lowed by digits, executing universal-argument again ends the nu-
        !           747:               meric argument, but is otherwise ignored.  As a special case, if
        !           748:               this command is immediately followed by a character that is nei-
        !           749:               ther a digit or minus sign, the argument count for the next com-
        !           750:               mand  is  multiplied  by  four.  The argument count is initially
1.1       misho     751:               one, so executing this function the first time makes  the  argu-
                    752:               ment count four, a second time makes the argument count sixteen,
                    753:               and so on.
                    754: 
1.1.1.2 ! misho     755:    Completing
        !           756:        complete (TAB)
        !           757:               Attempt to perform completion on the text before point.  The ac-
        !           758:               tual  completion  performed  is application-specific.  Bash, for
1.1       misho     759:               instance, attempts completion treating the text  as  a  variable
1.1.1.2 ! misho     760:               (if  the  text begins with $), username (if the text begins with
        !           761:               ~), hostname (if the text begins with @), or command  (including
1.1       misho     762:               aliases  and  functions)  in  turn.  If none of these produces a
1.1.1.2 ! misho     763:               match, filename completion is  attempted.   Gdb,  on  the  other
1.1       misho     764:               hand,  allows completion of program functions and variables, and
                    765:               only attempts filename completion under certain circumstances.
1.1.1.2 ! misho     766:        possible-completions (M-?)
1.1       misho     767:               List the possible completions of the text  before  point.   When
                    768:               displaying completions, readline sets the number of columns used
1.1.1.2 ! misho     769:               for display to the value of completion-display-width, the  value
        !           770:               of  the  environment  variable  COLUMNS, or the screen width, in
1.1       misho     771:               that order.
1.1.1.2 ! misho     772:        insert-completions (M-*)
1.1       misho     773:               Insert all completions of the text before point that would  have
1.1.1.2 ! misho     774:               been generated by possible-completions.
        !           775:        menu-complete
        !           776:               Similar  to complete, but replaces the word to be completed with
1.1       misho     777:               a single match from the list of possible completions.   Repeated
1.1.1.2 ! misho     778:               execution  of  menu-complete  steps through the list of possible
1.1       misho     779:               completions, inserting each match in turn.  At the  end  of  the
                    780:               list of completions, the bell is rung (subject to the setting of
1.1.1.2 ! misho     781:               bell-style) and the original text is restored.  An argument of n
        !           782:               moves n positions forward in the list of matches; a negative ar-
        !           783:               gument may be used to move backward through the list.  This com-
        !           784:               mand is intended to be bound to TAB, but is unbound by default.
        !           785:        menu-complete-backward
        !           786:               Identical  to menu-complete, but moves backward through the list
        !           787:               of possible completions, as if menu-complete had  been  given  a
1.1       misho     788:               negative argument.  This command is unbound by default.
1.1.1.2 ! misho     789:        delete-char-or-list
        !           790:               Deletes  the  character under the cursor if not at the beginning
        !           791:               or end of the line (like delete-char).  If at  the  end  of  the
        !           792:               line, behaves identically to possible-completions.
        !           793: 
        !           794:    Keyboard Macros
        !           795:        start-kbd-macro (C-x ()
        !           796:               Begin  saving  the  characters  typed  into the current keyboard
1.1       misho     797:               macro.
1.1.1.2 ! misho     798:        end-kbd-macro (C-x ))
1.1       misho     799:               Stop saving the characters typed into the current keyboard macro
                    800:               and store the definition.
1.1.1.2 ! misho     801:        call-last-kbd-macro (C-x e)
        !           802:               Re-execute  the last keyboard macro defined, by making the char-
        !           803:               acters in the macro appear as if typed at the keyboard.
        !           804:        print-last-kbd-macro ()
        !           805:               Print the last keyboard macro defined in a format  suitable  for
        !           806:               the inputrc file.
        !           807: 
        !           808:    Miscellaneous
        !           809:        re-read-init-file (C-x C-r)
        !           810:               Read  in  the  contents of the inputrc file, and incorporate any
1.1       misho     811:               bindings or variable assignments found there.
1.1.1.2 ! misho     812:        abort (C-g)
1.1       misho     813:               Abort the current editing command and ring the  terminal's  bell
1.1.1.2 ! misho     814:               (subject to the setting of bell-style).
        !           815:        do-lowercase-version (M-A, M-B, M-x, ...)
        !           816:               If  the  metafied character x is uppercase, run the command that
        !           817:               is bound to the corresponding metafied lowercase character.  The
        !           818:               behavior is undefined if x is already lowercase.
        !           819:        prefix-meta (ESC)
        !           820:               Metafy the next character typed.  ESC f is equivalent to Meta-f.
        !           821:        undo (C-_, C-x C-u)
1.1       misho     822:               Incremental undo, separately remembered for each line.
1.1.1.2 ! misho     823:        revert-line (M-r)
1.1       misho     824:               Undo  all changes made to this line.  This is like executing the
1.1.1.2 ! misho     825:               undo command enough times to return  the  line  to  its  initial
1.1       misho     826:               state.
1.1.1.2 ! misho     827:        tilde-expand (M-&)
1.1       misho     828:               Perform tilde expansion on the current word.
1.1.1.2 ! misho     829:        set-mark (C-@, M-<space>)
1.1       misho     830:               Set  the  mark to the point.  If a numeric argument is supplied,
                    831:               the mark is set to that position.
1.1.1.2 ! misho     832:        exchange-point-and-mark (C-x C-x)
1.1       misho     833:               Swap the point with the mark.  The current  cursor  position  is
                    834:               set  to the saved position, and the old cursor position is saved
                    835:               as the mark.
1.1.1.2 ! misho     836:        character-search (C-])
1.1       misho     837:               A character is read and point is moved to the next occurrence of
                    838:               that  character.   A negative count searches for previous occur-
                    839:               rences.
1.1.1.2 ! misho     840:        character-search-backward (M-C-])
1.1       misho     841:               A character is read and point is moved to  the  previous  occur-
                    842:               rence  of  that character.  A negative count searches for subse-
                    843:               quent occurrences.
1.1.1.2 ! misho     844:        skip-csi-sequence
1.1       misho     845:               Read enough characters to consume a multi-key sequence  such  as
                    846:               those  defined for keys like Home and End.  Such sequences begin
                    847:               with a Control Sequence Indicator (CSI), usually ESC-[.  If this
                    848:               sequence  is  bound  to "\[", keys producing such sequences will
                    849:               have no effect unless explicitly bound to  a  readline  command,
                    850:               instead  of  inserting stray characters into the editing buffer.
                    851:               This is unbound by default, but usually bound to ESC-[.
1.1.1.2 ! misho     852:        insert-comment (M-#)
        !           853:               Without a numeric argument,  the  value  of  the  readline  com-
        !           854:               ment-begin  variable is inserted at the beginning of the current
1.1       misho     855:               line.  If a numeric argument is supplied, this command acts as a
1.1.1.2 ! misho     856:               toggle:  if  the  characters at the beginning of the line do not
        !           857:               match the value of comment-begin, the value is inserted,  other-
        !           858:               wise the characters in comment-begin are deleted from the begin-
1.1       misho     859:               ning of the line.  In either case, the line is accepted as if  a
1.1.1.2 ! misho     860:               newline  had  been  typed.   The  default value of comment-begin
1.1       misho     861:               makes the current line a shell comment.  If a  numeric  argument
1.1.1.2 ! misho     862:               causes the comment character to be removed, the line will be ex-
        !           863:               ecuted by the shell.
        !           864:        dump-functions
1.1       misho     865:               Print all of the functions and their key bindings to  the  read-
                    866:               line output stream.  If a numeric argument is supplied, the out-
                    867:               put is formatted in such a way that it can be made  part  of  an
1.1.1.2 ! misho     868:               inputrc file.
        !           869:        dump-variables
1.1       misho     870:               Print  all  of  the  settable  variables and their values to the
                    871:               readline output stream.  If a numeric argument is supplied,  the
                    872:               output is formatted in such a way that it can be made part of an
1.1.1.2 ! misho     873:               inputrc file.
        !           874:        dump-macros
1.1       misho     875:               Print all of the readline key sequences bound to macros and  the
                    876:               strings  they  output.   If  a numeric argument is supplied, the
                    877:               output is formatted in such a way that it can be made part of an
1.1.1.2 ! misho     878:               inputrc file.
        !           879:        emacs-editing-mode (C-e)
        !           880:               When  in  vi command mode, this causes a switch to emacs editing
1.1       misho     881:               mode.
1.1.1.2 ! misho     882:        vi-editing-mode (M-C-j)
        !           883:               When in emacs editing mode, this causes a switch to  vi  editing
1.1       misho     884:               mode.
                    885: 
1.1.1.2 ! misho     886: DEFAULT KEY BINDINGS
1.1       misho     887:        The  following is a list of the default emacs and vi bindings.  Charac-
1.1.1.2 ! misho     888:        ters with the eighth bit set are written as M-<character>, and are  re-
        !           889:        ferred  to  as metafied characters.  The printable ASCII characters not
1.1       misho     890:        mentioned in the list of emacs  standard  bindings  are  bound  to  the
1.1.1.2 ! misho     891:        self-insert  function,  which just inserts the given character into the
1.1       misho     892:        input line.  In vi insertion mode, all characters not specifically men-
1.1.1.2 ! misho     893:        tioned are bound to self-insert.  Characters assigned to signal genera-
        !           894:        tion by stty(1) or the terminal driver, such as C-Z or C-C, retain that
1.1       misho     895:        function.   Upper  and  lower case metafied characters are bound to the
                    896:        same function in the emacs mode meta keymap.  The remaining  characters
                    897:        are  unbound,  which  causes  readline to ring the bell (subject to the
1.1.1.2 ! misho     898:        setting of the bell-style variable).
1.1       misho     899: 
1.1.1.2 ! misho     900:    Emacs Mode
1.1       misho     901:              Emacs Standard bindings
                    902: 
                    903:              "C-@"  set-mark
                    904:              "C-A"  beginning-of-line
                    905:              "C-B"  backward-char
                    906:              "C-D"  delete-char
                    907:              "C-E"  end-of-line
                    908:              "C-F"  forward-char
                    909:              "C-G"  abort
                    910:              "C-H"  backward-delete-char
                    911:              "C-I"  complete
                    912:              "C-J"  accept-line
                    913:              "C-K"  kill-line
                    914:              "C-L"  clear-screen
                    915:              "C-M"  accept-line
                    916:              "C-N"  next-history
                    917:              "C-P"  previous-history
                    918:              "C-Q"  quoted-insert
                    919:              "C-R"  reverse-search-history
                    920:              "C-S"  forward-search-history
                    921:              "C-T"  transpose-chars
                    922:              "C-U"  unix-line-discard
                    923:              "C-V"  quoted-insert
                    924:              "C-W"  unix-word-rubout
                    925:              "C-Y"  yank
                    926:              "C-]"  character-search
                    927:              "C-_"  undo
                    928:              " " to "/"  self-insert
                    929:              "0"  to "9"  self-insert
                    930:              ":"  to "~"  self-insert
                    931:              "C-?"  backward-delete-char
                    932: 
                    933:              Emacs Meta bindings
                    934: 
                    935:              "M-C-G"  abort
                    936:              "M-C-H"  backward-kill-word
                    937:              "M-C-I"  tab-insert
                    938:              "M-C-J"  vi-editing-mode
1.1.1.2 ! misho     939:              "M-C-L"  clear-display
1.1       misho     940:              "M-C-M"  vi-editing-mode
                    941:              "M-C-R"  revert-line
                    942:              "M-C-Y"  yank-nth-arg
                    943:              "M-C-["  complete
                    944:              "M-C-]"  character-search-backward
                    945:              "M-space"  set-mark
                    946:              "M-#"  insert-comment
                    947:              "M-&"  tilde-expand
                    948:              "M-*"  insert-completions
                    949:              "M--"  digit-argument
                    950:              "M-."  yank-last-arg
                    951:              "M-0"  digit-argument
                    952:              "M-1"  digit-argument
                    953:              "M-2"  digit-argument
                    954:              "M-3"  digit-argument
                    955:              "M-4"  digit-argument
                    956:              "M-5"  digit-argument
                    957:              "M-6"  digit-argument
                    958:              "M-7"  digit-argument
                    959:              "M-8"  digit-argument
                    960:              "M-9"  digit-argument
                    961:              "M-<"  beginning-of-history
                    962:              "M-="  possible-completions
                    963:              "M->"  end-of-history
                    964:              "M-?"  possible-completions
                    965:              "M-B"  backward-word
                    966:              "M-C"  capitalize-word
                    967:              "M-D"  kill-word
                    968:              "M-F"  forward-word
                    969:              "M-L"  downcase-word
                    970:              "M-N"  non-incremental-forward-search-history
                    971:              "M-P"  non-incremental-reverse-search-history
                    972:              "M-R"  revert-line
                    973:              "M-T"  transpose-words
                    974:              "M-U"  upcase-word
                    975:              "M-Y"  yank-pop
                    976:              "M-\"  delete-horizontal-space
                    977:              "M-~"  tilde-expand
                    978:              "M-C-?"  backward-kill-word
                    979:              "M-_"  yank-last-arg
                    980: 
                    981:              Emacs Control-X bindings
                    982: 
                    983:              "C-XC-G"  abort
                    984:              "C-XC-R"  re-read-init-file
                    985:              "C-XC-U"  undo
                    986:              "C-XC-X"  exchange-point-and-mark
                    987:              "C-X("  start-kbd-macro
                    988:              "C-X)"  end-kbd-macro
                    989:              "C-XE"  call-last-kbd-macro
                    990:              "C-XC-?"  backward-kill-line
                    991: 
                    992: 
1.1.1.2 ! misho     993:    VI Mode bindings
1.1       misho     994:              VI Insert Mode functions
                    995: 
                    996:              "C-D"  vi-eof-maybe
                    997:              "C-H"  backward-delete-char
                    998:              "C-I"  complete
                    999:              "C-J"  accept-line
                   1000:              "C-M"  accept-line
                   1001:              "C-R"  reverse-search-history
                   1002:              "C-S"  forward-search-history
                   1003:              "C-T"  transpose-chars
                   1004:              "C-U"  unix-line-discard
                   1005:              "C-V"  quoted-insert
                   1006:              "C-W"  unix-word-rubout
                   1007:              "C-Y"  yank
                   1008:              "C-["  vi-movement-mode
                   1009:              "C-_"  undo
                   1010:              " " to "~"  self-insert
                   1011:              "C-?"  backward-delete-char
                   1012: 
                   1013:              VI Command Mode functions
                   1014: 
                   1015:              "C-D"  vi-eof-maybe
                   1016:              "C-E"  emacs-editing-mode
                   1017:              "C-G"  abort
                   1018:              "C-H"  backward-char
                   1019:              "C-J"  accept-line
                   1020:              "C-K"  kill-line
                   1021:              "C-L"  clear-screen
                   1022:              "C-M"  accept-line
                   1023:              "C-N"  next-history
                   1024:              "C-P"  previous-history
                   1025:              "C-Q"  quoted-insert
                   1026:              "C-R"  reverse-search-history
                   1027:              "C-S"  forward-search-history
                   1028:              "C-T"  transpose-chars
                   1029:              "C-U"  unix-line-discard
                   1030:              "C-V"  quoted-insert
                   1031:              "C-W"  unix-word-rubout
                   1032:              "C-Y"  yank
                   1033:              "C-_"  vi-undo
                   1034:              " "  forward-char
                   1035:              "#"  insert-comment
                   1036:              "$"  end-of-line
                   1037:              "%"  vi-match
                   1038:              "&"  vi-tilde-expand
                   1039:              "*"  vi-complete
                   1040:              "+"  next-history
                   1041:              ","  vi-char-search
                   1042:              "-"  previous-history
                   1043:              "."  vi-redo
                   1044:              "/"  vi-search
                   1045:              "0"  beginning-of-line
                   1046:              "1" to "9"  vi-arg-digit
                   1047:              ";"  vi-char-search
                   1048:              "="  vi-complete
                   1049:              "?"  vi-search
                   1050:              "A"  vi-append-eol
                   1051:              "B"  vi-prev-word
                   1052:              "C"  vi-change-to
                   1053:              "D"  vi-delete-to
                   1054:              "E"  vi-end-word
                   1055:              "F"  vi-char-search
                   1056:              "G"  vi-fetch-history
                   1057:              "I"  vi-insert-beg
                   1058:              "N"  vi-search-again
                   1059:              "P"  vi-put
                   1060:              "R"  vi-replace
                   1061:              "S"  vi-subst
                   1062:              "T"  vi-char-search
                   1063:              "U"  revert-line
                   1064:              "W"  vi-next-word
                   1065:              "X"  backward-delete-char
                   1066:              "Y"  vi-yank-to
                   1067:              "\"  vi-complete
                   1068:              "^"  vi-first-print
                   1069:              "_"  vi-yank-arg
                   1070:              "`"  vi-goto-mark
                   1071:              "a"  vi-append-mode
                   1072:              "b"  vi-prev-word
                   1073:              "c"  vi-change-to
                   1074:              "d"  vi-delete-to
                   1075:              "e"  vi-end-word
                   1076:              "f"  vi-char-search
                   1077:              "h"  backward-char
                   1078:              "i"  vi-insertion-mode
                   1079:              "j"  next-history
                   1080:              "k"  prev-history
                   1081:              "l"  forward-char
                   1082:              "m"  vi-set-mark
                   1083:              "n"  vi-search-again
                   1084:              "p"  vi-put
                   1085:              "r"  vi-change-char
                   1086:              "s"  vi-subst
                   1087:              "t"  vi-char-search
                   1088:              "u"  vi-undo
                   1089:              "w"  vi-next-word
                   1090:              "x"  vi-delete
                   1091:              "y"  vi-yank-to
                   1092:              "|"  vi-column
                   1093:              "~"  vi-change-case
                   1094: 
1.1.1.2 ! misho    1095: SEE ALSO
        !          1096:        The Gnu Readline Library, Brian Fox and Chet Ramey
        !          1097:        The Gnu History Library, Brian Fox and Chet Ramey
        !          1098:        bash(1)
        !          1099: 
        !          1100: FILES
        !          1101:        ~/.inputrc
        !          1102:               Individual readline initialization file
1.1       misho    1103: 
1.1.1.2 ! misho    1104: AUTHORS
1.1       misho    1105:        Brian Fox, Free Software Foundation
                   1106:        bfox@gnu.org
                   1107: 
                   1108:        Chet Ramey, Case Western Reserve University
                   1109:        chet.ramey@case.edu
                   1110: 
1.1.1.2 ! misho    1111: BUG REPORTS
        !          1112:        If you find a bug in readline, you should report it.   But  first,  you
1.1       misho    1113:        should  make  sure  that it really is a bug, and that it appears in the
1.1.1.2 ! misho    1114:        latest version of the readline library that you have.
1.1       misho    1115: 
                   1116:        Once you have determined that a bug actually exists, mail a bug  report
1.1.1.2 ! misho    1117:        to  bug-readline@gnu.org.   If  you have a fix, you are welcome to mail
1.1       misho    1118:        that as well!  Suggestions  and  `philosophical'  bug  reports  may  be
1.1.1.2 ! misho    1119:        mailed  to  bug-readline@gnu.org  or  posted  to  the  Usenet newsgroup
        !          1120:        gnu.bash.bug.
1.1       misho    1121: 
                   1122:        Comments and bug reports concerning this manual page should be directed
1.1.1.2 ! misho    1123:        to chet.ramey@case.edu.
1.1       misho    1124: 
1.1.1.2 ! misho    1125: BUGS
1.1       misho    1126:        It's too big and too slow.
                   1127: 
                   1128: 
                   1129: 
1.1.1.2 ! misho    1130: GNU Readline 8.1                2020 October 29                    READLINE(3)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>