File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / readline / doc / rluserman.info
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jul 30 08:16:46 2014 UTC (9 years, 11 months ago) by misho
Branches: readline, MAIN
CVS tags: v6_3p10_cross, v6_3p10, v6_3, p6, HEAD
readline 6.3

    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>