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