Annotation of embedaddon/readline/doc/rluserman.info, revision 1.1.1.1

1.1       misho       1: This is rluserman.info, produced by makeinfo version 4.13 from
                      2: /usr/homes/chet/src/bash/readline-src/doc/rluserman.texi.
                      3: 
                      4: This manual describes the end user interface of the GNU Readline Library
                      5: (version 6.3, 6 January 2014), a library which aids in the consistency
                      6: of user interface across discrete programs which provide a command line
                      7: interface.
                      8: 
                      9:    Copyright (C) 1988-2014 Free Software Foundation, Inc.
                     10: 
                     11:      Permission is granted to copy, distribute and/or modify this
                     12:      document under the terms of the GNU Free Documentation License,
                     13:      Version 1.3 or any later version published by the Free Software
                     14:      Foundation; with no Invariant Sections, no Front-Cover Texts, and
                     15:      no Back-Cover Texts.  A copy of the license is included in the
                     16:      section entitled "GNU Free Documentation License".
                     17: 
                     18: 
                     19: INFO-DIR-SECTION Libraries
                     20: START-INFO-DIR-ENTRY
                     21: * RLuserman: (rluserman).       The GNU readline library User's Manual.
                     22: END-INFO-DIR-ENTRY
                     23: 
                     24: 
                     25: File: rluserman.info,  Node: Top,  Next: Command Line Editing,  Up: (dir)
                     26: 
                     27: GNU Readline Library
                     28: ********************
                     29: 
                     30: This document describes the end user interface of the GNU Readline
                     31: Library, a utility which aids in the consistency of user interface
                     32: across discrete programs which provide a command line interface.  The
                     33: Readline home page is `http://www.gnu.org/software/readline/'.
                     34: 
                     35: * Menu:
                     36: 
                     37: * Command Line Editing::          GNU Readline User's Manual.
                     38: * GNU Free Documentation License::     License for copying this manual.
                     39: 
                     40: 
                     41: File: rluserman.info,  Node: Command Line Editing,  Next: GNU Free Documentation License,  Prev: Top,  Up: Top
                     42: 
                     43: 1 Command Line Editing
                     44: **********************
                     45: 
                     46: This chapter describes the basic features of the GNU command line
                     47: editing interface.
                     48: 
                     49: * Menu:
                     50: 
                     51: * Introduction and Notation::  Notation used in this text.
                     52: * Readline Interaction::       The minimum set of commands for editing a line.
                     53: * Readline Init File::         Customizing Readline from a user's view.
                     54: * Bindable Readline Commands:: A description of most of the Readline commands
                     55:                                available for binding
                     56: * Readline vi Mode::           A short description of how to make Readline
                     57:                                behave like the vi editor.
                     58: 
                     59: 
                     60: File: rluserman.info,  Node: Introduction and Notation,  Next: Readline Interaction,  Up: Command Line Editing
                     61: 
                     62: 1.1 Introduction to Line Editing
                     63: ================================
                     64: 
                     65: The following paragraphs describe the notation used to represent
                     66: keystrokes.
                     67: 
                     68:    The text `C-k' is read as `Control-K' and describes the character
                     69: produced when the <k> key is pressed while the Control key is depressed.
                     70: 
                     71:    The text `M-k' is read as `Meta-K' and describes the character
                     72: produced when the Meta key (if you have one) is depressed, and the <k>
                     73: key is pressed.  The Meta key is labeled <ALT> on many keyboards.  On
                     74: keyboards with two keys labeled <ALT> (usually to either side of the
                     75: space bar), the <ALT> on the left side is generally set to work as a
                     76: Meta key.  The <ALT> key on the right may also be configured to work as
                     77: a Meta key or may be configured as some other modifier, such as a
                     78: Compose key for typing accented characters.
                     79: 
                     80:    If you do not have a Meta or <ALT> key, or another key working as a
                     81: Meta key, the identical keystroke can be generated by typing <ESC>
                     82: _first_, and then typing <k>.  Either process is known as "metafying"
                     83: the <k> key.
                     84: 
                     85:    The text `M-C-k' is read as `Meta-Control-k' and describes the
                     86: character produced by "metafying" `C-k'.
                     87: 
                     88:    In addition, several keys have their own names.  Specifically,
                     89: <DEL>, <ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves
                     90: when seen in this text, or in an init file (*note Readline Init File::).
                     91: If your keyboard lacks a <LFD> key, typing <C-j> will produce the
                     92: desired character.  The <RET> key may be labeled <Return> or <Enter> on
                     93: some keyboards.
                     94: 
                     95: 
                     96: File: rluserman.info,  Node: Readline Interaction,  Next: Readline Init File,  Prev: Introduction and Notation,  Up: Command Line Editing
                     97: 
                     98: 1.2 Readline Interaction
                     99: ========================
                    100: 
                    101: Often during an interactive session you type in a long line of text,
                    102: only to notice that the first word on the line is misspelled.  The
                    103: Readline library gives you a set of commands for manipulating the text
                    104: as you type it in, allowing you to just fix your typo, and not forcing
                    105: you to retype the majority of the line.  Using these editing commands,
                    106: you move the cursor to the place that needs correction, and delete or
                    107: insert the text of the corrections.  Then, when you are satisfied with
                    108: the line, you simply press <RET>.  You do not have to be at the end of
                    109: the line to press <RET>; the entire line is accepted regardless of the
                    110: location of the cursor within the line.
                    111: 
                    112: * Menu:
                    113: 
                    114: * Readline Bare Essentials::   The least you need to know about Readline.
                    115: * Readline Movement Commands:: Moving about the input line.
                    116: * Readline Killing Commands::  How to delete text, and how to get it back!
                    117: * Readline Arguments::         Giving numeric arguments to commands.
                    118: * Searching::                  Searching through previous lines.
                    119: 
                    120: 
                    121: File: rluserman.info,  Node: Readline Bare Essentials,  Next: Readline Movement Commands,  Up: Readline Interaction
                    122: 
                    123: 1.2.1 Readline Bare Essentials
                    124: ------------------------------
                    125: 
                    126: In order to enter characters into the line, simply type them.  The typed
                    127: character appears where the cursor was, and then the cursor moves one
                    128: space to the right.  If you mistype a character, you can use your erase
                    129: character to back up and delete the mistyped character.
                    130: 
                    131:    Sometimes you may mistype a character, and not notice the error
                    132: until you have typed several other characters.  In that case, you can
                    133: type `C-b' to move the cursor to the left, and then correct your
                    134: mistake.  Afterwards, you can move the cursor to the right with `C-f'.
                    135: 
                    136:    When you add text in the middle of a line, you will notice that
                    137: characters to the right of the cursor are `pushed over' to make room
                    138: for the text that you have inserted.  Likewise, when you delete text
                    139: behind the cursor, characters to the right of the cursor are `pulled
                    140: back' to fill in the blank space created by the removal of the text.  A
                    141: list of the bare essentials for editing the text of an input line
                    142: follows.
                    143: 
                    144: `C-b'
                    145:      Move back one character.
                    146: 
                    147: `C-f'
                    148:      Move forward one character.
                    149: 
                    150: <DEL> or <Backspace>
                    151:      Delete the character to the left of the cursor.
                    152: 
                    153: `C-d'
                    154:      Delete the character underneath the cursor.
                    155: 
                    156: Printing characters
                    157:      Insert the character into the line at the cursor.
                    158: 
                    159: `C-_' or `C-x C-u'
                    160:      Undo the last editing command.  You can undo all the way back to an
                    161:      empty line.
                    162: 
                    163: (Depending on your configuration, the <Backspace> key be set to delete
                    164: the character to the left of the cursor and the <DEL> key set to delete
                    165: the character underneath the cursor, like `C-d', rather than the
                    166: character to the left of the cursor.)
                    167: 
                    168: 
                    169: File: rluserman.info,  Node: Readline Movement Commands,  Next: Readline Killing Commands,  Prev: Readline Bare Essentials,  Up: Readline Interaction
                    170: 
                    171: 1.2.2 Readline Movement Commands
                    172: --------------------------------
                    173: 
                    174: The above table describes the most basic keystrokes that you need in
                    175: order to do editing of the input line.  For your convenience, many
                    176: other commands have been added in addition to `C-b', `C-f', `C-d', and
                    177: <DEL>.  Here are some commands for moving more rapidly about the line.
                    178: 
                    179: `C-a'
                    180:      Move to the start of the line.
                    181: 
                    182: `C-e'
                    183:      Move to the end of the line.
                    184: 
                    185: `M-f'
                    186:      Move forward a word, where a word is composed of letters and
                    187:      digits.
                    188: 
                    189: `M-b'
                    190:      Move backward a word.
                    191: 
                    192: `C-l'
                    193:      Clear the screen, reprinting the current line at the top.
                    194: 
                    195:    Notice how `C-f' moves forward a character, while `M-f' moves
                    196: forward a word.  It is a loose convention that control keystrokes
                    197: operate on characters while meta keystrokes operate on words.
                    198: 
                    199: 
                    200: File: rluserman.info,  Node: Readline Killing Commands,  Next: Readline Arguments,  Prev: Readline Movement Commands,  Up: Readline Interaction
                    201: 
                    202: 1.2.3 Readline Killing Commands
                    203: -------------------------------
                    204: 
                    205: "Killing" text means to delete the text from the line, but to save it
                    206: away for later use, usually by "yanking" (re-inserting) it back into
                    207: the line.  (`Cut' and `paste' are more recent jargon for `kill' and
                    208: `yank'.)
                    209: 
                    210:    If the description for a command says that it `kills' text, then you
                    211: can be sure that you can get the text back in a different (or the same)
                    212: place later.
                    213: 
                    214:    When you use a kill command, the text is saved in a "kill-ring".
                    215: Any number of consecutive kills save all of the killed text together, so
                    216: that when you yank it back, you get it all.  The kill ring is not line
                    217: specific; the text that you killed on a previously typed line is
                    218: available to be yanked back later, when you are typing another line.  
                    219: 
                    220:    Here is the list of commands for killing text.
                    221: 
                    222: `C-k'
                    223:      Kill the text from the current cursor position to the end of the
                    224:      line.
                    225: 
                    226: `M-d'
                    227:      Kill from the cursor to the end of the current word, or, if between
                    228:      words, to the end of the next word.  Word boundaries are the same
                    229:      as those used by `M-f'.
                    230: 
                    231: `M-<DEL>'
                    232:      Kill from the cursor the start of the current word, or, if between
                    233:      words, to the start of the previous word.  Word boundaries are the
                    234:      same as those used by `M-b'.
                    235: 
                    236: `C-w'
                    237:      Kill from the cursor to the previous whitespace.  This is
                    238:      different than `M-<DEL>' because the word boundaries differ.
                    239: 
                    240: 
                    241:    Here is how to "yank" the text back into the line.  Yanking means to
                    242: copy the most-recently-killed text from the kill buffer.
                    243: 
                    244: `C-y'
                    245:      Yank the most recently killed text back into the buffer at the
                    246:      cursor.
                    247: 
                    248: `M-y'
                    249:      Rotate the kill-ring, and yank the new top.  You can only do this
                    250:      if the prior command is `C-y' or `M-y'.
                    251: 
                    252: 
                    253: File: rluserman.info,  Node: Readline Arguments,  Next: Searching,  Prev: Readline Killing Commands,  Up: Readline Interaction
                    254: 
                    255: 1.2.4 Readline Arguments
                    256: ------------------------
                    257: 
                    258: You can pass numeric arguments to Readline commands.  Sometimes the
                    259: argument acts as a repeat count, other times it is the sign of the
                    260: argument that is significant.  If you pass a negative argument to a
                    261: command which normally acts in a forward direction, that command will
                    262: act in a backward direction.  For example, to kill text back to the
                    263: start of the line, you might type `M-- C-k'.
                    264: 
                    265:    The general way to pass numeric arguments to a command is to type
                    266: meta digits before the command.  If the first `digit' typed is a minus
                    267: sign (`-'), then the sign of the argument will be negative.  Once you
                    268: have typed one meta digit to get the argument started, you can type the
                    269: remainder of the digits, and then the command.  For example, to give
                    270: the `C-d' command an argument of 10, you could type `M-1 0 C-d', which
                    271: will delete the next ten characters on the input line.
                    272: 
                    273: 
                    274: File: rluserman.info,  Node: Searching,  Prev: Readline Arguments,  Up: Readline Interaction
                    275: 
                    276: 1.2.5 Searching for Commands in the History
                    277: -------------------------------------------
                    278: 
                    279: Readline provides commands for searching through the command history
                    280: for lines containing a specified string.  There are two search modes:
                    281: "incremental" and "non-incremental".
                    282: 
                    283:    Incremental searches begin before the user has finished typing the
                    284: search string.  As each character of the search string is typed,
                    285: Readline displays the next entry from the history matching the string
                    286: typed so far.  An incremental search requires only as many characters
                    287: as needed to find the desired history entry.  To search backward in the
                    288: history for a particular string, type `C-r'.  Typing `C-s' searches
                    289: forward through the history.  The characters present in the value of
                    290: the `isearch-terminators' variable are used to terminate an incremental
                    291: search.  If that variable has not been assigned a value, the <ESC> and
                    292: `C-J' characters will terminate an incremental search.  `C-g' will
                    293: abort an incremental search and restore the original line.  When the
                    294: search is terminated, the history entry containing the search string
                    295: becomes the current line.
                    296: 
                    297:    To find other matching entries in the history list, type `C-r' or
                    298: `C-s' as appropriate.  This will search backward or forward in the
                    299: history for the next entry matching the search string typed so far.
                    300: Any other key sequence bound to a Readline command will terminate the
                    301: search and execute that command.  For instance, a <RET> will terminate
                    302: the search and accept the line, thereby executing the command from the
                    303: history list.  A movement command will terminate the search, make the
                    304: last line found the current line, and begin editing.
                    305: 
                    306:    Readline remembers the last incremental search string.  If two
                    307: `C-r's are typed without any intervening characters defining a new
                    308: search string, any remembered search string is used.
                    309: 
                    310:    Non-incremental searches read the entire search string before
                    311: starting to search for matching history lines.  The search string may be
                    312: typed by the user or be part of the contents of the current line.
                    313: 
                    314: 
                    315: File: rluserman.info,  Node: Readline Init File,  Next: Bindable Readline Commands,  Prev: Readline Interaction,  Up: Command Line Editing
                    316: 
                    317: 1.3 Readline Init File
                    318: ======================
                    319: 
                    320: Although the Readline library comes with a set of Emacs-like
                    321: keybindings installed by default, it is possible to use a different set
                    322: of keybindings.  Any user can customize programs that use Readline by
                    323: putting commands in an "inputrc" file, conventionally in his home
                    324: directory.  The name of this file is taken from the value of the
                    325: environment variable `INPUTRC'.  If that variable is unset, the default
                    326: is `~/.inputrc'.  If that file does not exist or cannot be read, the
                    327: ultimate default is `/etc/inputrc'.
                    328: 
                    329:    When a program which uses the Readline library starts up, the init
                    330: file is read, and the key bindings are set.
                    331: 
                    332:    In addition, the `C-x C-r' command re-reads this init file, thus
                    333: incorporating any changes that you might have made to it.
                    334: 
                    335: * Menu:
                    336: 
                    337: * Readline Init File Syntax::  Syntax for the commands in the inputrc file.
                    338: 
                    339: * Conditional Init Constructs::        Conditional key bindings in the inputrc file.
                    340: 
                    341: * Sample Init File::           An example inputrc file.
                    342: 
                    343: 
                    344: File: rluserman.info,  Node: Readline Init File Syntax,  Next: Conditional Init Constructs,  Up: Readline Init File
                    345: 
                    346: 1.3.1 Readline Init File Syntax
                    347: -------------------------------
                    348: 
                    349: There are only a few basic constructs allowed in the Readline init
                    350: file.  Blank lines are ignored.  Lines beginning with a `#' are
                    351: comments.  Lines beginning with a `$' indicate conditional constructs
                    352: (*note Conditional Init Constructs::).  Other lines denote variable
                    353: settings and key bindings.
                    354: 
                    355: Variable Settings
                    356:      You can modify the run-time behavior of Readline by altering the
                    357:      values of variables in Readline using the `set' command within the
                    358:      init file.  The syntax is simple:
                    359: 
                    360:           set VARIABLE VALUE
                    361: 
                    362:      Here, for example, is how to change from the default Emacs-like
                    363:      key binding to use `vi' line editing commands:
                    364: 
                    365:           set editing-mode vi
                    366: 
                    367:      Variable names and values, where appropriate, are recognized
                    368:      without regard to case.  Unrecognized variable names are ignored.
                    369: 
                    370:      Boolean variables (those that can be set to on or off) are set to
                    371:      on if the value is null or empty, ON (case-insensitive), or 1.
                    372:      Any other value results in the variable being set to off.
                    373: 
                    374:      A great deal of run-time behavior is changeable with the following
                    375:      variables.
                    376: 
                    377:     `bell-style'
                    378:           Controls what happens when Readline wants to ring the
                    379:           terminal bell.  If set to `none', Readline never rings the
                    380:           bell.  If set to `visible', Readline uses a visible bell if
                    381:           one is available.  If set to `audible' (the default),
                    382:           Readline attempts to ring the terminal's bell.
                    383: 
                    384:     `bind-tty-special-chars'
                    385:           If set to `on', Readline attempts to bind the control
                    386:           characters treated specially by the kernel's terminal driver
                    387:           to their Readline equivalents.
                    388: 
                    389:     `colored-stats'
                    390:           If set to `on', Readline displays possible completions using
                    391:           different colors to indicate their file type.  The color
                    392:           definitions are taken from the value of the `LS_COLORS'
                    393:           environment variable.  The default is `off'.
                    394: 
                    395:     `comment-begin'
                    396:           The string to insert at the beginning of the line when the
                    397:           `insert-comment' command is executed.  The default value is
                    398:           `"#"'.
                    399: 
                    400:     `completion-display-width'
                    401:           The number of screen columns used to display possible matches
                    402:           when performing completion.  The value is ignored if it is
                    403:           less than 0 or greater than the terminal screen width.  A
                    404:           value of 0 will cause matches to be displayed one per line.
                    405:           The default value is -1.
                    406: 
                    407:     `completion-ignore-case'
                    408:           If set to `on', Readline performs filename matching and
                    409:           completion in a case-insensitive fashion.  The default value
                    410:           is `off'.
                    411: 
                    412:     `completion-map-case'
                    413:           If set to `on', and COMPLETION-IGNORE-CASE is enabled,
                    414:           Readline treats hyphens (`-') and underscores (`_') as
                    415:           equivalent when performing case-insensitive filename matching
                    416:           and completion.
                    417: 
                    418:     `completion-prefix-display-length'
                    419:           The length in characters of the common prefix of a list of
                    420:           possible completions that is displayed without modification.
                    421:           When set to a value greater than zero, common prefixes longer
                    422:           than this value are replaced with an ellipsis when displaying
                    423:           possible completions.
                    424: 
                    425:     `completion-query-items'
                    426:           The number of possible completions that determines when the
                    427:           user is asked whether the list of possibilities should be
                    428:           displayed.  If the number of possible completions is greater
                    429:           than this value, Readline will ask the user whether or not he
                    430:           wishes to view them; otherwise, they are simply listed.  This
                    431:           variable must be set to an integer value greater than or
                    432:           equal to 0.  A negative value means Readline should never ask.
                    433:           The default limit is `100'.
                    434: 
                    435:     `convert-meta'
                    436:           If set to `on', Readline will convert characters with the
                    437:           eighth bit set to an ASCII key sequence by stripping the
                    438:           eighth bit and prefixing an <ESC> character, converting them
                    439:           to a meta-prefixed key sequence.  The default value is `on'.
                    440: 
                    441:     `disable-completion'
                    442:           If set to `On', Readline will inhibit word completion.
                    443:           Completion  characters will be inserted into the line as if
                    444:           they had been mapped to `self-insert'.  The default is `off'.
                    445: 
                    446:     `editing-mode'
                    447:           The `editing-mode' variable controls which default set of key
                    448:           bindings is used.  By default, Readline starts up in Emacs
                    449:           editing mode, where the keystrokes are most similar to Emacs.
                    450:           This variable can be set to either `emacs' or `vi'.
                    451: 
                    452:     `echo-control-characters'
                    453:           When set to `on', on operating systems that indicate they
                    454:           support it, readline echoes a character corresponding to a
                    455:           signal generated from the keyboard.  The default is `on'.
                    456: 
                    457:     `enable-keypad'
                    458:           When set to `on', Readline will try to enable the application
                    459:           keypad when it is called.  Some systems need this to enable
                    460:           the arrow keys.  The default is `off'.
                    461: 
                    462:     `enable-meta-key'
                    463:           When set to `on', Readline will try to enable any meta
                    464:           modifier key the terminal claims to support when it is
                    465:           called.  On many terminals, the meta key is used to send
                    466:           eight-bit characters.  The default is `on'.
                    467: 
                    468:     `expand-tilde'
                    469:           If set to `on', tilde expansion is performed when Readline
                    470:           attempts word completion.  The default is `off'.
                    471: 
                    472:     `history-preserve-point'
                    473:           If set to `on', the history code attempts to place the point
                    474:           (the current cursor position) at the same location on each
                    475:           history line retrieved with `previous-history' or
                    476:           `next-history'.  The default is `off'.
                    477: 
                    478:     `history-size'
                    479:           Set the maximum number of history entries saved in the
                    480:           history list.  If set to zero, any existing history entries
                    481:           are deleted and no new entries are saved.  If set to a value
                    482:           less than zero, the number of history entries is not limited.
                    483:           By default, the number of history entries is not limited.
                    484: 
                    485:     `horizontal-scroll-mode'
                    486:           This variable can be set to either `on' or `off'.  Setting it
                    487:           to `on' means that the text of the lines being edited will
                    488:           scroll horizontally on a single screen line when they are
                    489:           longer than the width of the screen, instead of wrapping onto
                    490:           a new screen line.  By default, this variable is set to `off'.
                    491: 
                    492:     `input-meta'
                    493:           If set to `on', Readline will enable eight-bit input (it will
                    494:           not clear the eighth bit in the characters it reads),
                    495:           regardless of what the terminal claims it can support.  The
                    496:           default value is `off'.  The name `meta-flag' is a synonym
                    497:           for this variable.
                    498: 
                    499:     `isearch-terminators'
                    500:           The string of characters that should terminate an incremental
                    501:           search without subsequently executing the character as a
                    502:           command (*note Searching::).  If this variable has not been
                    503:           given a value, the characters <ESC> and `C-J' will terminate
                    504:           an incremental search.
                    505: 
                    506:     `keymap'
                    507:           Sets Readline's idea of the current keymap for key binding
                    508:           commands.  Acceptable `keymap' names are `emacs',
                    509:           `emacs-standard', `emacs-meta', `emacs-ctlx', `vi', `vi-move',
                    510:           `vi-command', and `vi-insert'.  `vi' is equivalent to
                    511:           `vi-command'; `emacs' is equivalent to `emacs-standard'.  The
                    512:           default value is `emacs'.  The value of the `editing-mode'
                    513:           variable also affects the default keymap.
                    514: 
                    515:     `keyseq-timeout'
                    516:           Specifies the duration Readline will wait for a character
                    517:           when reading an ambiguous key sequence (one that can form a
                    518:           complete key sequence using the input read so far, or can
                    519:           take additional input to complete a longer key sequence).  If
                    520:           no input is received within the timeout, Readline will use
                    521:           the shorter but complete key sequence.  Readline uses this
                    522:           value to determine whether or not input is available on the
                    523:           current input source (`rl_instream' by default).  The value
                    524:           is specified in milliseconds, so a value of 1000 means that
                    525:           Readline will wait one second for additional input.  If this
                    526:           variable is set to a value less than or equal to zero, or to a
                    527:           non-numeric value, Readline will wait until another key is
                    528:           pressed to decide which key sequence to complete.  The
                    529:           default value is `500'.
                    530: 
                    531:     `mark-directories'
                    532:           If set to `on', completed directory names have a slash
                    533:           appended.  The default is `on'.
                    534: 
                    535:     `mark-modified-lines'
                    536:           This variable, when set to `on', causes Readline to display an
                    537:           asterisk (`*') at the start of history lines which have been
                    538:           modified.  This variable is `off' by default.
                    539: 
                    540:     `mark-symlinked-directories'
                    541:           If set to `on', completed names which are symbolic links to
                    542:           directories have a slash appended (subject to the value of
                    543:           `mark-directories').  The default is `off'.
                    544: 
                    545:     `match-hidden-files'
                    546:           This variable, when set to `on', causes Readline to match
                    547:           files whose names begin with a `.' (hidden files) when
                    548:           performing filename completion.  If set to `off', the leading
                    549:           `.' must be supplied by the user in the filename to be
                    550:           completed.  This variable is `on' by default.
                    551: 
                    552:     `menu-complete-display-prefix'
                    553:           If set to `on', menu completion displays the common prefix of
                    554:           the list of possible completions (which may be empty) before
                    555:           cycling through the list.  The default is `off'.
                    556: 
                    557:     `output-meta'
                    558:           If set to `on', Readline will display characters with the
                    559:           eighth bit set directly rather than as a meta-prefixed escape
                    560:           sequence.  The default is `off'.
                    561: 
                    562:     `page-completions'
                    563:           If set to `on', Readline uses an internal `more'-like pager
                    564:           to display a screenful of possible completions at a time.
                    565:           This variable is `on' by default.
                    566: 
                    567:     `print-completions-horizontally'
                    568:           If set to `on', Readline will display completions with matches
                    569:           sorted horizontally in alphabetical order, rather than down
                    570:           the screen.  The default is `off'.
                    571: 
                    572:     `revert-all-at-newline'
                    573:           If set to `on', Readline will undo all changes to history
                    574:           lines before returning when `accept-line' is executed.  By
                    575:           default, history lines may be modified and retain individual
                    576:           undo lists across calls to `readline'.  The default is `off'.
                    577: 
                    578:     `show-all-if-ambiguous'
                    579:           This alters the default behavior of the completion functions.
                    580:           If set to `on', words which have more than one possible
                    581:           completion cause the matches to be listed immediately instead
                    582:           of ringing the bell.  The default value is `off'.
                    583: 
                    584:     `show-all-if-unmodified'
                    585:           This alters the default behavior of the completion functions
                    586:           in a fashion similar to SHOW-ALL-IF-AMBIGUOUS.  If set to
                    587:           `on', words which have more than one possible completion
                    588:           without any possible partial completion (the possible
                    589:           completions don't share a common prefix) cause the matches to
                    590:           be listed immediately instead of ringing the bell.  The
                    591:           default value is `off'.
                    592: 
                    593:     `show-mode-in-prompt'
                    594:           If set to `on', add a character to the beginning of the prompt
                    595:           indicating the editing mode: emacs (`@'), vi command (`:'),
                    596:           or vi insertion (`+').  The default value is `off'.
                    597: 
                    598:     `skip-completed-text'
                    599:           If set to `on', this alters the default completion behavior
                    600:           when inserting a single match into the line.  It's only
                    601:           active when performing completion in the middle of a word.
                    602:           If enabled, readline does not insert characters from the
                    603:           completion that match characters after point in the word
                    604:           being completed, so portions of the word following the cursor
                    605:           are not duplicated.  For instance, if this is enabled,
                    606:           attempting completion when the cursor is after the `e' in
                    607:           `Makefile' will result in `Makefile' rather than
                    608:           `Makefilefile', assuming there is a single possible
                    609:           completion.  The default value is `off'.
                    610: 
                    611:     `visible-stats'
                    612:           If set to `on', a character denoting a file's type is
                    613:           appended to the filename when listing possible completions.
                    614:           The default is `off'.
                    615: 
                    616: 
                    617: Key Bindings
                    618:      The syntax for controlling key bindings in the init file is
                    619:      simple.  First you need to find the name of the command that you
                    620:      want to change.  The following sections contain tables of the
                    621:      command name, the default keybinding, if any, and a short
                    622:      description of what the command does.
                    623: 
                    624:      Once you know the name of the command, simply place on a line in
                    625:      the init file the name of the key you wish to bind the command to,
                    626:      a colon, and then the name of the command.  There can be no space
                    627:      between the key name and the colon - that will be interpreted as
                    628:      part of the key name.  The name of the key can be expressed in
                    629:      different ways, depending on what you find most comfortable.
                    630: 
                    631:      In addition to command names, readline allows keys to be bound to
                    632:      a string that is inserted when the key is pressed (a MACRO).
                    633: 
                    634:     KEYNAME: FUNCTION-NAME or MACRO
                    635:           KEYNAME is the name of a key spelled out in English.  For
                    636:           example:
                    637:                Control-u: universal-argument
                    638:                Meta-Rubout: backward-kill-word
                    639:                Control-o: "> output"
                    640: 
                    641:           In the above example, `C-u' is bound to the function
                    642:           `universal-argument', `M-DEL' is bound to the function
                    643:           `backward-kill-word', and `C-o' is bound to run the macro
                    644:           expressed on the right hand side (that is, to insert the text
                    645:           `> output' into the line).
                    646: 
                    647:           A number of symbolic character names are recognized while
                    648:           processing this key binding syntax: DEL, ESC, ESCAPE, LFD,
                    649:           NEWLINE, RET, RETURN, RUBOUT, SPACE, SPC, and TAB.
                    650: 
                    651:     "KEYSEQ": FUNCTION-NAME or MACRO
                    652:           KEYSEQ differs from KEYNAME above in that strings denoting an
                    653:           entire key sequence can be specified, by placing the key
                    654:           sequence in double quotes.  Some GNU Emacs style key escapes
                    655:           can be used, as in the following example, but the special
                    656:           character names are not recognized.
                    657: 
                    658:                "\C-u": universal-argument
                    659:                "\C-x\C-r": re-read-init-file
                    660:                "\e[11~": "Function Key 1"
                    661: 
                    662:           In the above example, `C-u' is again bound to the function
                    663:           `universal-argument' (just as it was in the first example),
                    664:           `C-x C-r' is bound to the function `re-read-init-file', and
                    665:           `<ESC> <[> <1> <1> <~>' is bound to insert the text `Function
                    666:           Key 1'.
                    667: 
                    668: 
                    669:      The following GNU Emacs style escape sequences are available when
                    670:      specifying key sequences:
                    671: 
                    672:     `\C-'
                    673:           control prefix
                    674: 
                    675:     `\M-'
                    676:           meta prefix
                    677: 
                    678:     `\e'
                    679:           an escape character
                    680: 
                    681:     `\\'
                    682:           backslash
                    683: 
                    684:     `\"'
                    685:           <">, a double quotation mark
                    686: 
                    687:     `\''
                    688:           <'>, a single quote or apostrophe
                    689: 
                    690:      In addition to the GNU Emacs style escape sequences, a second set
                    691:      of backslash escapes is available:
                    692: 
                    693:     `\a'
                    694:           alert (bell)
                    695: 
                    696:     `\b'
                    697:           backspace
                    698: 
                    699:     `\d'
                    700:           delete
                    701: 
                    702:     `\f'
                    703:           form feed
                    704: 
                    705:     `\n'
                    706:           newline
                    707: 
                    708:     `\r'
                    709:           carriage return
                    710: 
                    711:     `\t'
                    712:           horizontal tab
                    713: 
                    714:     `\v'
                    715:           vertical tab
                    716: 
                    717:     `\NNN'
                    718:           the eight-bit character whose value is the octal value NNN
                    719:           (one to three digits)
                    720: 
                    721:     `\xHH'
                    722:           the eight-bit character whose value is the hexadecimal value
                    723:           HH (one or two hex digits)
                    724: 
                    725:      When entering the text of a macro, single or double quotes must be
                    726:      used to indicate a macro definition.  Unquoted text is assumed to
                    727:      be a function name.  In the macro body, the backslash escapes
                    728:      described above are expanded.  Backslash will quote any other
                    729:      character in the macro text, including `"' and `''.  For example,
                    730:      the following binding will make `C-x \' insert a single `\' into
                    731:      the line:
                    732:           "\C-x\\": "\\"
                    733: 
                    734: 
                    735: 
                    736: File: rluserman.info,  Node: Conditional Init Constructs,  Next: Sample Init File,  Prev: Readline Init File Syntax,  Up: Readline Init File
                    737: 
                    738: 1.3.2 Conditional Init Constructs
                    739: ---------------------------------
                    740: 
                    741: Readline implements a facility similar in spirit to the conditional
                    742: compilation features of the C preprocessor which allows key bindings
                    743: and variable settings to be performed as the result of tests.  There
                    744: are four parser directives used.
                    745: 
                    746: `$if'
                    747:      The `$if' construct allows bindings to be made based on the
                    748:      editing mode, the terminal being used, or the application using
                    749:      Readline.  The text of the test extends to the end of the line; no
                    750:      characters are required to isolate it.
                    751: 
                    752:     `mode'
                    753:           The `mode=' form of the `$if' directive is used to test
                    754:           whether Readline is in `emacs' or `vi' mode.  This may be
                    755:           used in conjunction with the `set keymap' command, for
                    756:           instance, to set bindings in the `emacs-standard' and
                    757:           `emacs-ctlx' keymaps only if Readline is starting out in
                    758:           `emacs' mode.
                    759: 
                    760:     `term'
                    761:           The `term=' form may be used to include terminal-specific key
                    762:           bindings, perhaps to bind the key sequences output by the
                    763:           terminal's function keys.  The word on the right side of the
                    764:           `=' is tested against both the full name of the terminal and
                    765:           the portion of the terminal name before the first `-'.  This
                    766:           allows `sun' to match both `sun' and `sun-cmd', for instance.
                    767: 
                    768:     `application'
                    769:           The APPLICATION construct is used to include
                    770:           application-specific settings.  Each program using the
                    771:           Readline library sets the APPLICATION NAME, and you can test
                    772:           for a particular value.  This could be used to bind key
                    773:           sequences to functions useful for a specific program.  For
                    774:           instance, the following command adds a key sequence that
                    775:           quotes the current or previous word in Bash:
                    776:                $if Bash
                    777:                # Quote the current or previous word
                    778:                "\C-xq": "\eb\"\ef\""
                    779:                $endif
                    780: 
                    781: `$endif'
                    782:      This command, as seen in the previous example, terminates an `$if'
                    783:      command.
                    784: 
                    785: `$else'
                    786:      Commands in this branch of the `$if' directive are executed if the
                    787:      test fails.
                    788: 
                    789: `$include'
                    790:      This directive takes a single filename as an argument and reads
                    791:      commands and bindings from that file.  For example, the following
                    792:      directive reads from `/etc/inputrc':
                    793:           $include /etc/inputrc
                    794: 
                    795: 
                    796: File: rluserman.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,  Up: Readline Init File
                    797: 
                    798: 1.3.3 Sample Init File
                    799: ----------------------
                    800: 
                    801: Here is an example of an INPUTRC file.  This illustrates key binding,
                    802: variable assignment, and conditional syntax.
                    803: 
                    804: 
                    805:      # This file controls the behaviour of line input editing for
                    806:      # programs that use the GNU Readline library.  Existing
                    807:      # programs include FTP, Bash, and GDB.
                    808:      #
                    809:      # You can re-read the inputrc file with C-x C-r.
                    810:      # Lines beginning with '#' are comments.
                    811:      #
                    812:      # First, include any system-wide bindings and variable
                    813:      # assignments from /etc/Inputrc
                    814:      $include /etc/Inputrc
                    815: 
                    816:      #
                    817:      # Set various bindings for emacs mode.
                    818: 
                    819:      set editing-mode emacs
                    820: 
                    821:      $if mode=emacs
                    822: 
                    823:      Meta-Control-h:   backward-kill-word      Text after the function name is ignored
                    824: 
                    825:      #
                    826:      # Arrow keys in keypad mode
                    827:      #
                    828:      #"\M-OD":        backward-char
                    829:      #"\M-OC":        forward-char
                    830:      #"\M-OA":        previous-history
                    831:      #"\M-OB":        next-history
                    832:      #
                    833:      # Arrow keys in ANSI mode
                    834:      #
                    835:      "\M-[D":        backward-char
                    836:      "\M-[C":        forward-char
                    837:      "\M-[A":        previous-history
                    838:      "\M-[B":        next-history
                    839:      #
                    840:      # Arrow keys in 8 bit keypad mode
                    841:      #
                    842:      #"\M-\C-OD":       backward-char
                    843:      #"\M-\C-OC":       forward-char
                    844:      #"\M-\C-OA":       previous-history
                    845:      #"\M-\C-OB":       next-history
                    846:      #
                    847:      # Arrow keys in 8 bit ANSI mode
                    848:      #
                    849:      #"\M-\C-[D":       backward-char
                    850:      #"\M-\C-[C":       forward-char
                    851:      #"\M-\C-[A":       previous-history
                    852:      #"\M-\C-[B":       next-history
                    853: 
                    854:      C-q: quoted-insert
                    855: 
                    856:      $endif
                    857: 
                    858:      # An old-style binding.  This happens to be the default.
                    859:      TAB: complete
                    860: 
                    861:      # Macros that are convenient for shell interaction
                    862:      $if Bash
                    863:      # edit the path
                    864:      "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
                    865:      # prepare to type a quoted word --
                    866:      # insert open and close double quotes
                    867:      # and move to just after the open quote
                    868:      "\C-x\"": "\"\"\C-b"
                    869:      # insert a backslash (testing backslash escapes
                    870:      # in sequences and macros)
                    871:      "\C-x\\": "\\"
                    872:      # Quote the current or previous word
                    873:      "\C-xq": "\eb\"\ef\""
                    874:      # Add a binding to refresh the line, which is unbound
                    875:      "\C-xr": redraw-current-line
                    876:      # Edit variable on current line.
                    877:      "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
                    878:      $endif
                    879: 
                    880:      # use a visible bell if one is available
                    881:      set bell-style visible
                    882: 
                    883:      # don't strip characters to 7 bits when reading
                    884:      set input-meta on
                    885: 
                    886:      # allow iso-latin1 characters to be inserted rather
                    887:      # than converted to prefix-meta sequences
                    888:      set convert-meta off
                    889: 
                    890:      # display characters with the eighth bit set directly
                    891:      # rather than as meta-prefixed characters
                    892:      set output-meta on
                    893: 
                    894:      # if there are more than 150 possible completions for
                    895:      # a word, ask the user if he wants to see all of them
                    896:      set completion-query-items 150
                    897: 
                    898:      # For FTP
                    899:      $if Ftp
                    900:      "\C-xg": "get \M-?"
                    901:      "\C-xt": "put \M-?"
                    902:      "\M-.": yank-last-arg
                    903:      $endif
                    904: 
                    905: 
                    906: File: rluserman.info,  Node: Bindable Readline Commands,  Next: Readline vi Mode,  Prev: Readline Init File,  Up: Command Line Editing
                    907: 
                    908: 1.4 Bindable Readline Commands
                    909: ==============================
                    910: 
                    911: * Menu:
                    912: 
                    913: * Commands For Moving::                Moving about the line.
                    914: * Commands For History::       Getting at previous lines.
                    915: * Commands For Text::          Commands for changing text.
                    916: * Commands For Killing::       Commands for killing and yanking.
                    917: * Numeric Arguments::          Specifying numeric arguments, repeat counts.
                    918: * Commands For Completion::    Getting Readline to do the typing for you.
                    919: * Keyboard Macros::            Saving and re-executing typed characters
                    920: * Miscellaneous Commands::     Other miscellaneous commands.
                    921: 
                    922:    This section describes Readline commands that may be bound to key
                    923: sequences.  Command names without an accompanying key sequence are
                    924: unbound by default.
                    925: 
                    926:    In the following descriptions, "point" refers to the current cursor
                    927: position, and "mark" refers to a cursor position saved by the
                    928: `set-mark' command.  The text between the point and mark is referred to
                    929: as the "region".
                    930: 
                    931: 
                    932: File: rluserman.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
                    933: 
                    934: 1.4.1 Commands For Moving
                    935: -------------------------
                    936: 
                    937: `beginning-of-line (C-a)'
                    938:      Move to the start of the current line.
                    939: 
                    940: `end-of-line (C-e)'
                    941:      Move to the end of the line.
                    942: 
                    943: `forward-char (C-f)'
                    944:      Move forward a character.
                    945: 
                    946: `backward-char (C-b)'
                    947:      Move back a character.
                    948: 
                    949: `forward-word (M-f)'
                    950:      Move forward to the end of the next word.  Words are composed of
                    951:      letters and digits.
                    952: 
                    953: `backward-word (M-b)'
                    954:      Move back to the start of the current or previous word.  Words are
                    955:      composed of letters and digits.
                    956: 
                    957: `clear-screen (C-l)'
                    958:      Clear the screen and redraw the current line, leaving the current
                    959:      line at the top of the screen.
                    960: 
                    961: `redraw-current-line ()'
                    962:      Refresh the current line.  By default, this is unbound.
                    963: 
                    964: 
                    965: 
                    966: File: rluserman.info,  Node: Commands For History,  Next: Commands For Text,  Prev: Commands For Moving,  Up: Bindable Readline Commands
                    967: 
                    968: 1.4.2 Commands For Manipulating The History
                    969: -------------------------------------------
                    970: 
                    971: `accept-line (Newline or Return)'
                    972:      Accept the line regardless of where the cursor is.  If this line is
                    973:      non-empty, it may be added to the history list for future recall
                    974:      with `add_history()'.  If this line is a modified history line,
                    975:      the history line is restored to its original state.
                    976: 
                    977: `previous-history (C-p)'
                    978:      Move `back' through the history list, fetching the previous
                    979:      command.
                    980: 
                    981: `next-history (C-n)'
                    982:      Move `forward' through the history list, fetching the next command.
                    983: 
                    984: `beginning-of-history (M-<)'
                    985:      Move to the first line in the history.
                    986: 
                    987: `end-of-history (M->)'
                    988:      Move to the end of the input history, i.e., the line currently
                    989:      being entered.
                    990: 
                    991: `reverse-search-history (C-r)'
                    992:      Search backward starting at the current line and moving `up'
                    993:      through the history as necessary.  This is an incremental search.
                    994: 
                    995: `forward-search-history (C-s)'
                    996:      Search forward starting at the current line and moving `down'
                    997:      through the the history as necessary.  This is an incremental
                    998:      search.
                    999: 
                   1000: `non-incremental-reverse-search-history (M-p)'
                   1001:      Search backward starting at the current line and moving `up'
                   1002:      through the history as necessary using a non-incremental search
                   1003:      for a string supplied by the user.
                   1004: 
                   1005: `non-incremental-forward-search-history (M-n)'
                   1006:      Search forward starting at the current line and moving `down'
                   1007:      through the the history as necessary using a non-incremental search
                   1008:      for a string supplied by the user.
                   1009: 
                   1010: `history-search-forward ()'
                   1011:      Search forward through the history for the string of characters
                   1012:      between the start of the current line and the point.  The search
                   1013:      string must match at the beginning of a history line.  This is a
                   1014:      non-incremental search.  By default, this command is unbound.
                   1015: 
                   1016: `history-search-backward ()'
                   1017:      Search backward through the history for the string of characters
                   1018:      between the start of the current line and the point.  The search
                   1019:      string must match at the beginning of a history line.  This is a
                   1020:      non-incremental search.  By default, this command is unbound.
                   1021: 
                   1022: `history-substr-search-forward ()'
                   1023:      Search forward through the history for the string of characters
                   1024:      between the start of the current line and the point.  The search
                   1025:      string may match anywhere in a history line.  This is a
                   1026:      non-incremental search.  By default, this command is unbound.
                   1027: 
                   1028: `history-substr-search-backward ()'
                   1029:      Search backward through the history for the string of characters
                   1030:      between the start of the current line and the point.  The search
                   1031:      string may match anywhere in a history line.  This is a
                   1032:      non-incremental search.  By default, this command is unbound.
                   1033: 
                   1034: `yank-nth-arg (M-C-y)'
                   1035:      Insert the first argument to the previous command (usually the
                   1036:      second word on the previous line) at point.  With an argument N,
                   1037:      insert the Nth word from the previous command (the words in the
                   1038:      previous command begin with word 0).  A negative argument inserts
                   1039:      the Nth word from the end of the previous command.  Once the
                   1040:      argument N is computed, the argument is extracted as if the `!N'
                   1041:      history expansion had been specified.
                   1042: 
                   1043: `yank-last-arg (M-. or M-_)'
                   1044:      Insert last argument to the previous command (the last word of the
                   1045:      previous history entry).  With a numeric argument, behave exactly
                   1046:      like `yank-nth-arg'.  Successive calls to `yank-last-arg' move
                   1047:      back through the history list, inserting the last word (or the
                   1048:      word specified by the argument to the first call) of each line in
                   1049:      turn.  Any numeric argument supplied to these successive calls
                   1050:      determines the direction to move through the history.  A negative
                   1051:      argument switches the direction through the history (back or
                   1052:      forward).  The history expansion facilities are used to extract
                   1053:      the last argument, as if the `!$' history expansion had been
                   1054:      specified.
                   1055: 
                   1056: 
                   1057: 
                   1058: File: rluserman.info,  Node: Commands For Text,  Next: Commands For Killing,  Prev: Commands For History,  Up: Bindable Readline Commands
                   1059: 
                   1060: 1.4.3 Commands For Changing Text
                   1061: --------------------------------
                   1062: 
                   1063: `end-of-file (usually C-d)'
                   1064:      The character indicating end-of-file as set, for example, by
                   1065:      `stty'.  If this character is read when there are no characters on
                   1066:      the line, and point is at the beginning of the line, Readline
                   1067:      interprets it as the end of input and returns EOF.
                   1068: 
                   1069: `delete-char (C-d)'
                   1070:      Delete the character at point.  If this function is bound to the
                   1071:      same character as the tty EOF character, as `C-d' commonly is, see
                   1072:      above for the effects.
                   1073: 
                   1074: `backward-delete-char (Rubout)'
                   1075:      Delete the character behind the cursor.  A numeric argument means
                   1076:      to kill the characters instead of deleting them.
                   1077: 
                   1078: `forward-backward-delete-char ()'
                   1079:      Delete the character under the cursor, unless the cursor is at the
                   1080:      end of the line, in which case the character behind the cursor is
                   1081:      deleted.  By default, this is not bound to a key.
                   1082: 
                   1083: `quoted-insert (C-q or C-v)'
                   1084:      Add the next character typed to the line verbatim.  This is how to
                   1085:      insert key sequences like `C-q', for example.
                   1086: 
                   1087: `tab-insert (M-<TAB>)'
                   1088:      Insert a tab character.
                   1089: 
                   1090: `self-insert (a, b, A, 1, !, ...)'
                   1091:      Insert yourself.
                   1092: 
                   1093: `transpose-chars (C-t)'
                   1094:      Drag the character before the cursor forward over the character at
                   1095:      the cursor, moving the cursor forward as well.  If the insertion
                   1096:      point is at the end of the line, then this transposes the last two
                   1097:      characters of the line.  Negative arguments have no effect.
                   1098: 
                   1099: `transpose-words (M-t)'
                   1100:      Drag the word before point past the word after point, moving point
                   1101:      past that word as well.  If the insertion point is at the end of
                   1102:      the line, this transposes the last two words on the line.
                   1103: 
                   1104: `upcase-word (M-u)'
                   1105:      Uppercase the current (or following) word.  With a negative
                   1106:      argument, uppercase the previous word, but do not move the cursor.
                   1107: 
                   1108: `downcase-word (M-l)'
                   1109:      Lowercase the current (or following) word.  With a negative
                   1110:      argument, lowercase the previous word, but do not move the cursor.
                   1111: 
                   1112: `capitalize-word (M-c)'
                   1113:      Capitalize the current (or following) word.  With a negative
                   1114:      argument, capitalize the previous word, but do not move the cursor.
                   1115: 
                   1116: `overwrite-mode ()'
                   1117:      Toggle overwrite mode.  With an explicit positive numeric argument,
                   1118:      switches to overwrite mode.  With an explicit non-positive numeric
                   1119:      argument, switches to insert mode.  This command affects only
                   1120:      `emacs' mode; `vi' mode does overwrite differently.  Each call to
                   1121:      `readline()' starts in insert mode.
                   1122: 
                   1123:      In overwrite mode, characters bound to `self-insert' replace the
                   1124:      text at point rather than pushing the text to the right.
                   1125:      Characters bound to `backward-delete-char' replace the character
                   1126:      before point with a space.
                   1127: 
                   1128:      By default, this command is unbound.
                   1129: 
                   1130: 
                   1131: 
                   1132: File: rluserman.info,  Node: Commands For Killing,  Next: Numeric Arguments,  Prev: Commands For Text,  Up: Bindable Readline Commands
                   1133: 
                   1134: 1.4.4 Killing And Yanking
                   1135: -------------------------
                   1136: 
                   1137: `kill-line (C-k)'
                   1138:      Kill the text from point to the end of the line.
                   1139: 
                   1140: `backward-kill-line (C-x Rubout)'
                   1141:      Kill backward to the beginning of the line.
                   1142: 
                   1143: `unix-line-discard (C-u)'
                   1144:      Kill backward from the cursor to the beginning of the current line.
                   1145: 
                   1146: `kill-whole-line ()'
                   1147:      Kill all characters on the current line, no matter where point is.
                   1148:      By default, this is unbound.
                   1149: 
                   1150: `kill-word (M-d)'
                   1151:      Kill from point to the end of the current word, or if between
                   1152:      words, to the end of the next word.  Word boundaries are the same
                   1153:      as `forward-word'.
                   1154: 
                   1155: `backward-kill-word (M-<DEL>)'
                   1156:      Kill the word behind point.  Word boundaries are the same as
                   1157:      `backward-word'.
                   1158: 
                   1159: `unix-word-rubout (C-w)'
                   1160:      Kill the word behind point, using white space as a word boundary.
                   1161:      The killed text is saved on the kill-ring.
                   1162: 
                   1163: `unix-filename-rubout ()'
                   1164:      Kill the word behind point, using white space and the slash
                   1165:      character as the word boundaries.  The killed text is saved on the
                   1166:      kill-ring.
                   1167: 
                   1168: `delete-horizontal-space ()'
                   1169:      Delete all spaces and tabs around point.  By default, this is
                   1170:      unbound.
                   1171: 
                   1172: `kill-region ()'
                   1173:      Kill the text in the current region.  By default, this command is
                   1174:      unbound.
                   1175: 
                   1176: `copy-region-as-kill ()'
                   1177:      Copy the text in the region to the kill buffer, so it can be yanked
                   1178:      right away.  By default, this command is unbound.
                   1179: 
                   1180: `copy-backward-word ()'
                   1181:      Copy the word before point to the kill buffer.  The word
                   1182:      boundaries are the same as `backward-word'.  By default, this
                   1183:      command is unbound.
                   1184: 
                   1185: `copy-forward-word ()'
                   1186:      Copy the word following point to the kill buffer.  The word
                   1187:      boundaries are the same as `forward-word'.  By default, this
                   1188:      command is unbound.
                   1189: 
                   1190: `yank (C-y)'
                   1191:      Yank the top of the kill ring into the buffer at point.
                   1192: 
                   1193: `yank-pop (M-y)'
                   1194:      Rotate the kill-ring, and yank the new top.  You can only do this
                   1195:      if the prior command is `yank' or `yank-pop'.
                   1196: 
                   1197: 
                   1198: File: rluserman.info,  Node: Numeric Arguments,  Next: Commands For Completion,  Prev: Commands For Killing,  Up: Bindable Readline Commands
                   1199: 
                   1200: 1.4.5 Specifying Numeric Arguments
                   1201: ----------------------------------
                   1202: 
                   1203: `digit-argument (M-0, M-1, ... M--)'
                   1204:      Add this digit to the argument already accumulating, or start a new
                   1205:      argument.  `M--' starts a negative argument.
                   1206: 
                   1207: `universal-argument ()'
                   1208:      This is another way to specify an argument.  If this command is
                   1209:      followed by one or more digits, optionally with a leading minus
                   1210:      sign, those digits define the argument.  If the command is
                   1211:      followed by digits, executing `universal-argument' again ends the
                   1212:      numeric argument, but is otherwise ignored.  As a special case, if
                   1213:      this command is immediately followed by a character that is
                   1214:      neither a digit or minus sign, the argument count for the next
                   1215:      command is multiplied by four.  The argument count is initially
                   1216:      one, so executing this function the first time makes the argument
                   1217:      count four, a second time makes the argument count sixteen, and so
                   1218:      on.  By default, this is not bound to a key.
                   1219: 
                   1220: 
                   1221: File: rluserman.info,  Node: Commands For Completion,  Next: Keyboard Macros,  Prev: Numeric Arguments,  Up: Bindable Readline Commands
                   1222: 
                   1223: 1.4.6 Letting Readline Type For You
                   1224: -----------------------------------
                   1225: 
                   1226: `complete (<TAB>)'
                   1227:      Attempt to perform completion on the text before point.  The
                   1228:      actual completion performed is application-specific.  The default
                   1229:      is filename completion.
                   1230: 
                   1231: `possible-completions (M-?)'
                   1232:      List the possible completions of the text before point.  When
                   1233:      displaying completions, Readline sets the number of columns used
                   1234:      for display to the value of `completion-display-width', the value
                   1235:      of the environment variable `COLUMNS', or the screen width, in
                   1236:      that order.
                   1237: 
                   1238: `insert-completions (M-*)'
                   1239:      Insert all completions of the text before point that would have
                   1240:      been generated by `possible-completions'.
                   1241: 
                   1242: `menu-complete ()'
                   1243:      Similar to `complete', but replaces the word to be completed with
                   1244:      a single match from the list of possible completions.  Repeated
                   1245:      execution of `menu-complete' steps through the list of possible
                   1246:      completions, inserting each match in turn.  At the end of the list
                   1247:      of completions, the bell is rung (subject to the setting of
                   1248:      `bell-style') and the original text is restored.  An argument of N
                   1249:      moves N positions forward in the list of matches; a negative
                   1250:      argument may be used to move backward through the list.  This
                   1251:      command is intended to be bound to <TAB>, but is unbound by
                   1252:      default.
                   1253: 
                   1254: `menu-complete-backward ()'
                   1255:      Identical to `menu-complete', but moves backward through the list
                   1256:      of possible completions, as if `menu-complete' had been given a
                   1257:      negative argument.
                   1258: 
                   1259: `delete-char-or-list ()'
                   1260:      Deletes the character under the cursor if not at the beginning or
                   1261:      end of the line (like `delete-char').  If at the end of the line,
                   1262:      behaves identically to `possible-completions'.  This command is
                   1263:      unbound by default.
                   1264: 
                   1265: 
                   1266: 
                   1267: File: rluserman.info,  Node: Keyboard Macros,  Next: Miscellaneous Commands,  Prev: Commands For Completion,  Up: Bindable Readline Commands
                   1268: 
                   1269: 1.4.7 Keyboard Macros
                   1270: ---------------------
                   1271: 
                   1272: `start-kbd-macro (C-x ()'
                   1273:      Begin saving the characters typed into the current keyboard macro.
                   1274: 
                   1275: `end-kbd-macro (C-x ))'
                   1276:      Stop saving the characters typed into the current keyboard macro
                   1277:      and save the definition.
                   1278: 
                   1279: `call-last-kbd-macro (C-x e)'
                   1280:      Re-execute the last keyboard macro defined, by making the
                   1281:      characters in the macro appear as if typed at the keyboard.
                   1282: 
                   1283: `print-last-kbd-macro ()'
                   1284:      Print the last keboard macro defined in a format suitable for the
                   1285:      INPUTRC file.
                   1286: 
                   1287: 
                   1288: 
                   1289: File: rluserman.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bindable Readline Commands
                   1290: 
                   1291: 1.4.8 Some Miscellaneous Commands
                   1292: ---------------------------------
                   1293: 
                   1294: `re-read-init-file (C-x C-r)'
                   1295:      Read in the contents of the INPUTRC file, and incorporate any
                   1296:      bindings or variable assignments found there.
                   1297: 
                   1298: `abort (C-g)'
                   1299:      Abort the current editing command and ring the terminal's bell
                   1300:      (subject to the setting of `bell-style').
                   1301: 
                   1302: `do-uppercase-version (M-a, M-b, M-X, ...)'
                   1303:      If the metafied character X is lowercase, run the command that is
                   1304:      bound to the corresponding uppercase character.
                   1305: 
                   1306: `prefix-meta (<ESC>)'
                   1307:      Metafy the next character typed.  This is for keyboards without a
                   1308:      meta key.  Typing `<ESC> f' is equivalent to typing `M-f'.
                   1309: 
                   1310: `undo (C-_ or C-x C-u)'
                   1311:      Incremental undo, separately remembered for each line.
                   1312: 
                   1313: `revert-line (M-r)'
                   1314:      Undo all changes made to this line.  This is like executing the
                   1315:      `undo' command enough times to get back to the beginning.
                   1316: 
                   1317: `tilde-expand (M-~)'
                   1318:      Perform tilde expansion on the current word.
                   1319: 
                   1320: `set-mark (C-@)'
                   1321:      Set the mark to the point.  If a numeric argument is supplied, the
                   1322:      mark is set to that position.
                   1323: 
                   1324: `exchange-point-and-mark (C-x C-x)'
                   1325:      Swap the point with the mark.  The current cursor position is set
                   1326:      to the saved position, and the old cursor position is saved as the
                   1327:      mark.
                   1328: 
                   1329: `character-search (C-])'
                   1330:      A character is read and point is moved to the next occurrence of
                   1331:      that character.  A negative count searches for previous
                   1332:      occurrences.
                   1333: 
                   1334: `character-search-backward (M-C-])'
                   1335:      A character is read and point is moved to the previous occurrence
                   1336:      of that character.  A negative count searches for subsequent
                   1337:      occurrences.
                   1338: 
                   1339: `skip-csi-sequence ()'
                   1340:      Read enough characters to consume a multi-key sequence such as
                   1341:      those defined for keys like Home and End.  Such sequences begin
                   1342:      with a Control Sequence Indicator (CSI), usually ESC-[.  If this
                   1343:      sequence is bound to "\e[", keys producing such sequences will
                   1344:      have no effect unless explicitly bound to a readline command,
                   1345:      instead of inserting stray characters into the editing buffer.
                   1346:      This is unbound by default, but usually bound to ESC-[.
                   1347: 
                   1348: `insert-comment (M-#)'
                   1349:      Without a numeric argument, the value of the `comment-begin'
                   1350:      variable is inserted at the beginning of the current line.  If a
                   1351:      numeric argument is supplied, this command acts as a toggle:  if
                   1352:      the characters at the beginning of the line do not match the value
                   1353:      of `comment-begin', the value is inserted, otherwise the
                   1354:      characters in `comment-begin' are deleted from the beginning of
                   1355:      the line.  In either case, the line is accepted as if a newline
                   1356:      had been typed.
                   1357: 
                   1358: `dump-functions ()'
                   1359:      Print all of the functions and their key bindings to the Readline
                   1360:      output stream.  If a numeric argument is supplied, the output is
                   1361:      formatted in such a way that it can be made part of an INPUTRC
                   1362:      file.  This command is unbound by default.
                   1363: 
                   1364: `dump-variables ()'
                   1365:      Print all of the settable variables and their values to the
                   1366:      Readline output stream.  If a numeric argument is supplied, the
                   1367:      output is formatted in such a way that it can be made part of an
                   1368:      INPUTRC file.  This command is unbound by default.
                   1369: 
                   1370: `dump-macros ()'
                   1371:      Print all of the Readline key sequences bound to macros and the
                   1372:      strings they output.  If a numeric argument is supplied, the
                   1373:      output is formatted in such a way that it can be made part of an
                   1374:      INPUTRC file.  This command is unbound by default.
                   1375: 
                   1376: `emacs-editing-mode (C-e)'
                   1377:      When in `vi' command mode, this causes a switch to `emacs' editing
                   1378:      mode.
                   1379: 
                   1380: `vi-editing-mode (M-C-j)'
                   1381:      When in `emacs' editing mode, this causes a switch to `vi' editing
                   1382:      mode.
                   1383: 
                   1384: 
                   1385: 
                   1386: File: rluserman.info,  Node: Readline vi Mode,  Prev: Bindable Readline Commands,  Up: Command Line Editing
                   1387: 
                   1388: 1.5 Readline vi Mode
                   1389: ====================
                   1390: 
                   1391: While the Readline library does not have a full set of `vi' editing
                   1392: functions, it does contain enough to allow simple editing of the line.
                   1393: The Readline `vi' mode behaves as specified in the POSIX standard.
                   1394: 
                   1395:    In order to switch interactively between `emacs' and `vi' editing
                   1396: modes, use the command `M-C-j' (bound to emacs-editing-mode when in
                   1397: `vi' mode and to vi-editing-mode in `emacs' mode).  The Readline
                   1398: default is `emacs' mode.
                   1399: 
                   1400:    When you enter a line in `vi' mode, you are already placed in
                   1401: `insertion' mode, as if you had typed an `i'.  Pressing <ESC> switches
                   1402: you into `command' mode, where you can edit the text of the line with
                   1403: the standard `vi' movement keys, move to previous history lines with
                   1404: `k' and subsequent lines with `j', and so forth.
                   1405: 
                   1406: 
                   1407: File: rluserman.info,  Node: GNU Free Documentation License,  Prev: Command Line Editing,  Up: Top
                   1408: 
                   1409: Appendix A GNU Free Documentation License
                   1410: *****************************************
                   1411: 
                   1412:                      Version 1.3, 3 November 2008
                   1413: 
                   1414:      Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
                   1415:      `http://fsf.org/'
                   1416: 
                   1417:      Everyone is permitted to copy and distribute verbatim copies
                   1418:      of this license document, but changing it is not allowed.
                   1419: 
                   1420:   0. PREAMBLE
                   1421: 
                   1422:      The purpose of this License is to make a manual, textbook, or other
                   1423:      functional and useful document "free" in the sense of freedom: to
                   1424:      assure everyone the effective freedom to copy and redistribute it,
                   1425:      with or without modifying it, either commercially or
                   1426:      noncommercially.  Secondarily, this License preserves for the
                   1427:      author and publisher a way to get credit for their work, while not
                   1428:      being considered responsible for modifications made by others.
                   1429: 
                   1430:      This License is a kind of "copyleft", which means that derivative
                   1431:      works of the document must themselves be free in the same sense.
                   1432:      It complements the GNU General Public License, which is a copyleft
                   1433:      license designed for free software.
                   1434: 
                   1435:      We have designed this License in order to use it for manuals for
                   1436:      free software, because free software needs free documentation: a
                   1437:      free program should come with manuals providing the same freedoms
                   1438:      that the software does.  But this License is not limited to
                   1439:      software manuals; it can be used for any textual work, regardless
                   1440:      of subject matter or whether it is published as a printed book.
                   1441:      We recommend this License principally for works whose purpose is
                   1442:      instruction or reference.
                   1443: 
                   1444:   1. APPLICABILITY AND DEFINITIONS
                   1445: 
                   1446:      This License applies to any manual or other work, in any medium,
                   1447:      that contains a notice placed by the copyright holder saying it
                   1448:      can be distributed under the terms of this License.  Such a notice
                   1449:      grants a world-wide, royalty-free license, unlimited in duration,
                   1450:      to use that work under the conditions stated herein.  The
                   1451:      "Document", below, refers to any such manual or work.  Any member
                   1452:      of the public is a licensee, and is addressed as "you".  You
                   1453:      accept the license if you copy, modify or distribute the work in a
                   1454:      way requiring permission under copyright law.
                   1455: 
                   1456:      A "Modified Version" of the Document means any work containing the
                   1457:      Document or a portion of it, either copied verbatim, or with
                   1458:      modifications and/or translated into another language.
                   1459: 
                   1460:      A "Secondary Section" is a named appendix or a front-matter section
                   1461:      of the Document that deals exclusively with the relationship of the
                   1462:      publishers or authors of the Document to the Document's overall
                   1463:      subject (or to related matters) and contains nothing that could
                   1464:      fall directly within that overall subject.  (Thus, if the Document
                   1465:      is in part a textbook of mathematics, a Secondary Section may not
                   1466:      explain any mathematics.)  The relationship could be a matter of
                   1467:      historical connection with the subject or with related matters, or
                   1468:      of legal, commercial, philosophical, ethical or political position
                   1469:      regarding them.
                   1470: 
                   1471:      The "Invariant Sections" are certain Secondary Sections whose
                   1472:      titles are designated, as being those of Invariant Sections, in
                   1473:      the notice that says that the Document is released under this
                   1474:      License.  If a section does not fit the above definition of
                   1475:      Secondary then it is not allowed to be designated as Invariant.
                   1476:      The Document may contain zero Invariant Sections.  If the Document
                   1477:      does not identify any Invariant Sections then there are none.
                   1478: 
                   1479:      The "Cover Texts" are certain short passages of text that are
                   1480:      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
                   1481:      that says that the Document is released under this License.  A
                   1482:      Front-Cover Text may be at most 5 words, and a Back-Cover Text may
                   1483:      be at most 25 words.
                   1484: 
                   1485:      A "Transparent" copy of the Document means a machine-readable copy,
                   1486:      represented in a format whose specification is available to the
                   1487:      general public, that is suitable for revising the document
                   1488:      straightforwardly with generic text editors or (for images
                   1489:      composed of pixels) generic paint programs or (for drawings) some
                   1490:      widely available drawing editor, and that is suitable for input to
                   1491:      text formatters or for automatic translation to a variety of
                   1492:      formats suitable for input to text formatters.  A copy made in an
                   1493:      otherwise Transparent file format whose markup, or absence of
                   1494:      markup, has been arranged to thwart or discourage subsequent
                   1495:      modification by readers is not Transparent.  An image format is
                   1496:      not Transparent if used for any substantial amount of text.  A
                   1497:      copy that is not "Transparent" is called "Opaque".
                   1498: 
                   1499:      Examples of suitable formats for Transparent copies include plain
                   1500:      ASCII without markup, Texinfo input format, LaTeX input format,
                   1501:      SGML or XML using a publicly available DTD, and
                   1502:      standard-conforming simple HTML, PostScript or PDF designed for
                   1503:      human modification.  Examples of transparent image formats include
                   1504:      PNG, XCF and JPG.  Opaque formats include proprietary formats that
                   1505:      can be read and edited only by proprietary word processors, SGML or
                   1506:      XML for which the DTD and/or processing tools are not generally
                   1507:      available, and the machine-generated HTML, PostScript or PDF
                   1508:      produced by some word processors for output purposes only.
                   1509: 
                   1510:      The "Title Page" means, for a printed book, the title page itself,
                   1511:      plus such following pages as are needed to hold, legibly, the
                   1512:      material this License requires to appear in the title page.  For
                   1513:      works in formats which do not have any title page as such, "Title
                   1514:      Page" means the text near the most prominent appearance of the
                   1515:      work's title, preceding the beginning of the body of the text.
                   1516: 
                   1517:      The "publisher" means any person or entity that distributes copies
                   1518:      of the Document to the public.
                   1519: 
                   1520:      A section "Entitled XYZ" means a named subunit of the Document
                   1521:      whose title either is precisely XYZ or contains XYZ in parentheses
                   1522:      following text that translates XYZ in another language.  (Here XYZ
                   1523:      stands for a specific section name mentioned below, such as
                   1524:      "Acknowledgements", "Dedications", "Endorsements", or "History".)
                   1525:      To "Preserve the Title" of such a section when you modify the
                   1526:      Document means that it remains a section "Entitled XYZ" according
                   1527:      to this definition.
                   1528: 
                   1529:      The Document may include Warranty Disclaimers next to the notice
                   1530:      which states that this License applies to the Document.  These
                   1531:      Warranty Disclaimers are considered to be included by reference in
                   1532:      this License, but only as regards disclaiming warranties: any other
                   1533:      implication that these Warranty Disclaimers may have is void and
                   1534:      has no effect on the meaning of this License.
                   1535: 
                   1536:   2. VERBATIM COPYING
                   1537: 
                   1538:      You may copy and distribute the Document in any medium, either
                   1539:      commercially or noncommercially, provided that this License, the
                   1540:      copyright notices, and the license notice saying this License
                   1541:      applies to the Document are reproduced in all copies, and that you
                   1542:      add no other conditions whatsoever to those of this License.  You
                   1543:      may not use technical measures to obstruct or control the reading
                   1544:      or further copying of the copies you make or distribute.  However,
                   1545:      you may accept compensation in exchange for copies.  If you
                   1546:      distribute a large enough number of copies you must also follow
                   1547:      the conditions in section 3.
                   1548: 
                   1549:      You may also lend copies, under the same conditions stated above,
                   1550:      and you may publicly display copies.
                   1551: 
                   1552:   3. COPYING IN QUANTITY
                   1553: 
                   1554:      If you publish printed copies (or copies in media that commonly
                   1555:      have printed covers) of the Document, numbering more than 100, and
                   1556:      the Document's license notice requires Cover Texts, you must
                   1557:      enclose the copies in covers that carry, clearly and legibly, all
                   1558:      these Cover Texts: Front-Cover Texts on the front cover, and
                   1559:      Back-Cover Texts on the back cover.  Both covers must also clearly
                   1560:      and legibly identify you as the publisher of these copies.  The
                   1561:      front cover must present the full title with all words of the
                   1562:      title equally prominent and visible.  You may add other material
                   1563:      on the covers in addition.  Copying with changes limited to the
                   1564:      covers, as long as they preserve the title of the Document and
                   1565:      satisfy these conditions, can be treated as verbatim copying in
                   1566:      other respects.
                   1567: 
                   1568:      If the required texts for either cover are too voluminous to fit
                   1569:      legibly, you should put the first ones listed (as many as fit
                   1570:      reasonably) on the actual cover, and continue the rest onto
                   1571:      adjacent pages.
                   1572: 
                   1573:      If you publish or distribute Opaque copies of the Document
                   1574:      numbering more than 100, you must either include a
                   1575:      machine-readable Transparent copy along with each Opaque copy, or
                   1576:      state in or with each Opaque copy a computer-network location from
                   1577:      which the general network-using public has access to download
                   1578:      using public-standard network protocols a complete Transparent
                   1579:      copy of the Document, free of added material.  If you use the
                   1580:      latter option, you must take reasonably prudent steps, when you
                   1581:      begin distribution of Opaque copies in quantity, to ensure that
                   1582:      this Transparent copy will remain thus accessible at the stated
                   1583:      location until at least one year after the last time you
                   1584:      distribute an Opaque copy (directly or through your agents or
                   1585:      retailers) of that edition to the public.
                   1586: 
                   1587:      It is requested, but not required, that you contact the authors of
                   1588:      the Document well before redistributing any large number of
                   1589:      copies, to give them a chance to provide you with an updated
                   1590:      version of the Document.
                   1591: 
                   1592:   4. MODIFICATIONS
                   1593: 
                   1594:      You may copy and distribute a Modified Version of the Document
                   1595:      under the conditions of sections 2 and 3 above, provided that you
                   1596:      release the Modified Version under precisely this License, with
                   1597:      the Modified Version filling the role of the Document, thus
                   1598:      licensing distribution and modification of the Modified Version to
                   1599:      whoever possesses a copy of it.  In addition, you must do these
                   1600:      things in the Modified Version:
                   1601: 
                   1602:        A. Use in the Title Page (and on the covers, if any) a title
                   1603:           distinct from that of the Document, and from those of
                   1604:           previous versions (which should, if there were any, be listed
                   1605:           in the History section of the Document).  You may use the
                   1606:           same title as a previous version if the original publisher of
                   1607:           that version gives permission.
                   1608: 
                   1609:        B. List on the Title Page, as authors, one or more persons or
                   1610:           entities responsible for authorship of the modifications in
                   1611:           the Modified Version, together with at least five of the
                   1612:           principal authors of the Document (all of its principal
                   1613:           authors, if it has fewer than five), unless they release you
                   1614:           from this requirement.
                   1615: 
                   1616:        C. State on the Title page the name of the publisher of the
                   1617:           Modified Version, as the publisher.
                   1618: 
                   1619:        D. Preserve all the copyright notices of the Document.
                   1620: 
                   1621:        E. Add an appropriate copyright notice for your modifications
                   1622:           adjacent to the other copyright notices.
                   1623: 
                   1624:        F. Include, immediately after the copyright notices, a license
                   1625:           notice giving the public permission to use the Modified
                   1626:           Version under the terms of this License, in the form shown in
                   1627:           the Addendum below.
                   1628: 
                   1629:        G. Preserve in that license notice the full lists of Invariant
                   1630:           Sections and required Cover Texts given in the Document's
                   1631:           license notice.
                   1632: 
                   1633:        H. Include an unaltered copy of this License.
                   1634: 
                   1635:        I. Preserve the section Entitled "History", Preserve its Title,
                   1636:           and add to it an item stating at least the title, year, new
                   1637:           authors, and publisher of the Modified Version as given on
                   1638:           the Title Page.  If there is no section Entitled "History" in
                   1639:           the Document, create one stating the title, year, authors,
                   1640:           and publisher of the Document as given on its Title Page,
                   1641:           then add an item describing the Modified Version as stated in
                   1642:           the previous sentence.
                   1643: 
                   1644:        J. Preserve the network location, if any, given in the Document
                   1645:           for public access to a Transparent copy of the Document, and
                   1646:           likewise the network locations given in the Document for
                   1647:           previous versions it was based on.  These may be placed in
                   1648:           the "History" section.  You may omit a network location for a
                   1649:           work that was published at least four years before the
                   1650:           Document itself, or if the original publisher of the version
                   1651:           it refers to gives permission.
                   1652: 
                   1653:        K. For any section Entitled "Acknowledgements" or "Dedications",
                   1654:           Preserve the Title of the section, and preserve in the
                   1655:           section all the substance and tone of each of the contributor
                   1656:           acknowledgements and/or dedications given therein.
                   1657: 
                   1658:        L. Preserve all the Invariant Sections of the Document,
                   1659:           unaltered in their text and in their titles.  Section numbers
                   1660:           or the equivalent are not considered part of the section
                   1661:           titles.
                   1662: 
                   1663:        M. Delete any section Entitled "Endorsements".  Such a section
                   1664:           may not be included in the Modified Version.
                   1665: 
                   1666:        N. Do not retitle any existing section to be Entitled
                   1667:           "Endorsements" or to conflict in title with any Invariant
                   1668:           Section.
                   1669: 
                   1670:        O. Preserve any Warranty Disclaimers.
                   1671: 
                   1672:      If the Modified Version includes new front-matter sections or
                   1673:      appendices that qualify as Secondary Sections and contain no
                   1674:      material copied from the Document, you may at your option
                   1675:      designate some or all of these sections as invariant.  To do this,
                   1676:      add their titles to the list of Invariant Sections in the Modified
                   1677:      Version's license notice.  These titles must be distinct from any
                   1678:      other section titles.
                   1679: 
                   1680:      You may add a section Entitled "Endorsements", provided it contains
                   1681:      nothing but endorsements of your Modified Version by various
                   1682:      parties--for example, statements of peer review or that the text
                   1683:      has been approved by an organization as the authoritative
                   1684:      definition of a standard.
                   1685: 
                   1686:      You may add a passage of up to five words as a Front-Cover Text,
                   1687:      and a passage of up to 25 words as a Back-Cover Text, to the end
                   1688:      of the list of Cover Texts in the Modified Version.  Only one
                   1689:      passage of Front-Cover Text and one of Back-Cover Text may be
                   1690:      added by (or through arrangements made by) any one entity.  If the
                   1691:      Document already includes a cover text for the same cover,
                   1692:      previously added by you or by arrangement made by the same entity
                   1693:      you are acting on behalf of, you may not add another; but you may
                   1694:      replace the old one, on explicit permission from the previous
                   1695:      publisher that added the old one.
                   1696: 
                   1697:      The author(s) and publisher(s) of the Document do not by this
                   1698:      License give permission to use their names for publicity for or to
                   1699:      assert or imply endorsement of any Modified Version.
                   1700: 
                   1701:   5. COMBINING DOCUMENTS
                   1702: 
                   1703:      You may combine the Document with other documents released under
                   1704:      this License, under the terms defined in section 4 above for
                   1705:      modified versions, provided that you include in the combination
                   1706:      all of the Invariant Sections of all of the original documents,
                   1707:      unmodified, and list them all as Invariant Sections of your
                   1708:      combined work in its license notice, and that you preserve all
                   1709:      their Warranty Disclaimers.
                   1710: 
                   1711:      The combined work need only contain one copy of this License, and
                   1712:      multiple identical Invariant Sections may be replaced with a single
                   1713:      copy.  If there are multiple Invariant Sections with the same name
                   1714:      but different contents, make the title of each such section unique
                   1715:      by adding at the end of it, in parentheses, the name of the
                   1716:      original author or publisher of that section if known, or else a
                   1717:      unique number.  Make the same adjustment to the section titles in
                   1718:      the list of Invariant Sections in the license notice of the
                   1719:      combined work.
                   1720: 
                   1721:      In the combination, you must combine any sections Entitled
                   1722:      "History" in the various original documents, forming one section
                   1723:      Entitled "History"; likewise combine any sections Entitled
                   1724:      "Acknowledgements", and any sections Entitled "Dedications".  You
                   1725:      must delete all sections Entitled "Endorsements."
                   1726: 
                   1727:   6. COLLECTIONS OF DOCUMENTS
                   1728: 
                   1729:      You may make a collection consisting of the Document and other
                   1730:      documents released under this License, and replace the individual
                   1731:      copies of this License in the various documents with a single copy
                   1732:      that is included in the collection, provided that you follow the
                   1733:      rules of this License for verbatim copying of each of the
                   1734:      documents in all other respects.
                   1735: 
                   1736:      You may extract a single document from such a collection, and
                   1737:      distribute it individually under this License, provided you insert
                   1738:      a copy of this License into the extracted document, and follow
                   1739:      this License in all other respects regarding verbatim copying of
                   1740:      that document.
                   1741: 
                   1742:   7. AGGREGATION WITH INDEPENDENT WORKS
                   1743: 
                   1744:      A compilation of the Document or its derivatives with other
                   1745:      separate and independent documents or works, in or on a volume of
                   1746:      a storage or distribution medium, is called an "aggregate" if the
                   1747:      copyright resulting from the compilation is not used to limit the
                   1748:      legal rights of the compilation's users beyond what the individual
                   1749:      works permit.  When the Document is included in an aggregate, this
                   1750:      License does not apply to the other works in the aggregate which
                   1751:      are not themselves derivative works of the Document.
                   1752: 
                   1753:      If the Cover Text requirement of section 3 is applicable to these
                   1754:      copies of the Document, then if the Document is less than one half
                   1755:      of the entire aggregate, the Document's Cover Texts may be placed
                   1756:      on covers that bracket the Document within the aggregate, or the
                   1757:      electronic equivalent of covers if the Document is in electronic
                   1758:      form.  Otherwise they must appear on printed covers that bracket
                   1759:      the whole aggregate.
                   1760: 
                   1761:   8. TRANSLATION
                   1762: 
                   1763:      Translation is considered a kind of modification, so you may
                   1764:      distribute translations of the Document under the terms of section
                   1765:      4.  Replacing Invariant Sections with translations requires special
                   1766:      permission from their copyright holders, but you may include
                   1767:      translations of some or all Invariant Sections in addition to the
                   1768:      original versions of these Invariant Sections.  You may include a
                   1769:      translation of this License, and all the license notices in the
                   1770:      Document, and any Warranty Disclaimers, provided that you also
                   1771:      include the original English version of this License and the
                   1772:      original versions of those notices and disclaimers.  In case of a
                   1773:      disagreement between the translation and the original version of
                   1774:      this License or a notice or disclaimer, the original version will
                   1775:      prevail.
                   1776: 
                   1777:      If a section in the Document is Entitled "Acknowledgements",
                   1778:      "Dedications", or "History", the requirement (section 4) to
                   1779:      Preserve its Title (section 1) will typically require changing the
                   1780:      actual title.
                   1781: 
                   1782:   9. TERMINATION
                   1783: 
                   1784:      You may not copy, modify, sublicense, or distribute the Document
                   1785:      except as expressly provided under this License.  Any attempt
                   1786:      otherwise to copy, modify, sublicense, or distribute it is void,
                   1787:      and will automatically terminate your rights under this License.
                   1788: 
                   1789:      However, if you cease all violation of this License, then your
                   1790:      license from a particular copyright holder is reinstated (a)
                   1791:      provisionally, unless and until the copyright holder explicitly
                   1792:      and finally terminates your license, and (b) permanently, if the
                   1793:      copyright holder fails to notify you of the violation by some
                   1794:      reasonable means prior to 60 days after the cessation.
                   1795: 
                   1796:      Moreover, your license from a particular copyright holder is
                   1797:      reinstated permanently if the copyright holder notifies you of the
                   1798:      violation by some reasonable means, this is the first time you have
                   1799:      received notice of violation of this License (for any work) from
                   1800:      that copyright holder, and you cure the violation prior to 30 days
                   1801:      after your receipt of the notice.
                   1802: 
                   1803:      Termination of your rights under this section does not terminate
                   1804:      the licenses of parties who have received copies or rights from
                   1805:      you under this License.  If your rights have been terminated and
                   1806:      not permanently reinstated, receipt of a copy of some or all of
                   1807:      the same material does not give you any rights to use it.
                   1808: 
                   1809:  10. FUTURE REVISIONS OF THIS LICENSE
                   1810: 
                   1811:      The Free Software Foundation may publish new, revised versions of
                   1812:      the GNU Free Documentation License from time to time.  Such new
                   1813:      versions will be similar in spirit to the present version, but may
                   1814:      differ in detail to address new problems or concerns.  See
                   1815:      `http://www.gnu.org/copyleft/'.
                   1816: 
                   1817:      Each version of the License is given a distinguishing version
                   1818:      number.  If the Document specifies that a particular numbered
                   1819:      version of this License "or any later version" applies to it, you
                   1820:      have the option of following the terms and conditions either of
                   1821:      that specified version or of any later version that has been
                   1822:      published (not as a draft) by the Free Software Foundation.  If
                   1823:      the Document does not specify a version number of this License,
                   1824:      you may choose any version ever published (not as a draft) by the
                   1825:      Free Software Foundation.  If the Document specifies that a proxy
                   1826:      can decide which future versions of this License can be used, that
                   1827:      proxy's public statement of acceptance of a version permanently
                   1828:      authorizes you to choose that version for the Document.
                   1829: 
                   1830:  11. RELICENSING
                   1831: 
                   1832:      "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
                   1833:      World Wide Web server that publishes copyrightable works and also
                   1834:      provides prominent facilities for anybody to edit those works.  A
                   1835:      public wiki that anybody can edit is an example of such a server.
                   1836:      A "Massive Multiauthor Collaboration" (or "MMC") contained in the
                   1837:      site means any set of copyrightable works thus published on the MMC
                   1838:      site.
                   1839: 
                   1840:      "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
                   1841:      license published by Creative Commons Corporation, a not-for-profit
                   1842:      corporation with a principal place of business in San Francisco,
                   1843:      California, as well as future copyleft versions of that license
                   1844:      published by that same organization.
                   1845: 
                   1846:      "Incorporate" means to publish or republish a Document, in whole or
                   1847:      in part, as part of another Document.
                   1848: 
                   1849:      An MMC is "eligible for relicensing" if it is licensed under this
                   1850:      License, and if all works that were first published under this
                   1851:      License somewhere other than this MMC, and subsequently
                   1852:      incorporated in whole or in part into the MMC, (1) had no cover
                   1853:      texts or invariant sections, and (2) were thus incorporated prior
                   1854:      to November 1, 2008.
                   1855: 
                   1856:      The operator of an MMC Site may republish an MMC contained in the
                   1857:      site under CC-BY-SA on the same site at any time before August 1,
                   1858:      2009, provided the MMC is eligible for relicensing.
                   1859: 
                   1860: 
                   1861: ADDENDUM: How to use this License for your documents
                   1862: ====================================================
                   1863: 
                   1864: To use this License in a document you have written, include a copy of
                   1865: the License in the document and put the following copyright and license
                   1866: notices just after the title page:
                   1867: 
                   1868:        Copyright (C)  YEAR  YOUR NAME.
                   1869:        Permission is granted to copy, distribute and/or modify this document
                   1870:        under the terms of the GNU Free Documentation License, Version 1.3
                   1871:        or any later version published by the Free Software Foundation;
                   1872:        with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
                   1873:        Texts.  A copy of the license is included in the section entitled ``GNU
                   1874:        Free Documentation License''.
                   1875: 
                   1876:    If you have Invariant Sections, Front-Cover Texts and Back-Cover
                   1877: Texts, replace the "with...Texts." line with this:
                   1878: 
                   1879:          with the Invariant Sections being LIST THEIR TITLES, with
                   1880:          the Front-Cover Texts being LIST, and with the Back-Cover Texts
                   1881:          being LIST.
                   1882: 
                   1883:    If you have Invariant Sections without Cover Texts, or some other
                   1884: combination of the three, merge those two alternatives to suit the
                   1885: situation.
                   1886: 
                   1887:    If your document contains nontrivial examples of program code, we
                   1888: recommend releasing these examples in parallel under your choice of
                   1889: free software license, such as the GNU General Public License, to
                   1890: permit their use in free software.
                   1891: 
                   1892: 
                   1893: 
                   1894: Tag Table:
                   1895: Node: Top950
                   1896: Node: Command Line Editing1472
                   1897: Node: Introduction and Notation2126
                   1898: Node: Readline Interaction3750
                   1899: Node: Readline Bare Essentials4943
                   1900: Node: Readline Movement Commands6734
                   1901: Node: Readline Killing Commands7701
                   1902: Node: Readline Arguments9623
                   1903: Node: Searching10669
                   1904: Node: Readline Init File12822
                   1905: Node: Readline Init File Syntax13977
                   1906: Node: Conditional Init Constructs30683
                   1907: Node: Sample Init File33218
                   1908: Node: Bindable Readline Commands36338
                   1909: Node: Commands For Moving37397
                   1910: Node: Commands For History38260
                   1911: Node: Commands For Text42416
                   1912: Node: Commands For Killing45400
                   1913: Node: Numeric Arguments47544
                   1914: Node: Commands For Completion48685
                   1915: Node: Keyboard Macros50656
                   1916: Node: Miscellaneous Commands51346
                   1917: Node: Readline vi Mode55204
                   1918: Node: GNU Free Documentation License56118
                   1919: 
                   1920: End Tag Table

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