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