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

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

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