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