Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / info / rluserman.info
CommitLineData
920dae64
AT
1This is rluserman.info, produced by makeinfo version 4.5 from
2/usr/homes/chet/src/bash/readline-src/doc/rluserman.texi.
3
4This 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
6of user interface across discrete programs which provide a command line
7interface.
8
9 Copyright (C) 1988-2004 Free Software Foundation, Inc.
10
11 Permission is granted to make and distribute verbatim copies of this
12manual provided the copyright notice and this permission notice are
13preserved 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
27INFO-DIR-SECTION Libraries
28START-INFO-DIR-ENTRY
29* RLuserman: (rluserman). The GNU readline library User's Manual.
30END-INFO-DIR-ENTRY
31
32\1f
33File: rluserman.info, Node: Top, Next: Command Line Editing, Up: (dir)
34
35GNU Readline Library
36********************
37
38 This document describes the end user interface of the GNU Readline
39Library, a utility which aids in the consistency of user interface
40across 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
48File: rluserman.info, Node: Command Line Editing, Next: Copying This Manual, Prev: Top, Up: Top
49
50Command Line Editing
51********************
52
53 This chapter describes the basic features of the GNU command line
54editing 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
67File: rluserman.info, Node: Introduction and Notation, Next: Readline Interaction, Up: Command Line Editing
68
69Introduction to Line Editing
70============================
71
72 The following paragraphs describe the notation used to represent
73keystrokes.
74
75 The text `C-k' is read as `Control-K' and describes the character
76produced 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
79produced when the Meta key (if you have one) is depressed, and the <k>
80key is pressed. The Meta key is labeled <ALT> on many keyboards. On
81keyboards with two keys labeled <ALT> (usually to either side of the
82space bar), the <ALT> on the left side is generally set to work as a
83Meta key. The <ALT> key on the right may also be configured to work as
84a Meta key or may be configured as some other modifier, such as a
85Compose key for typing accented characters.
86
87 If you do not have a Meta or <ALT> key, or another key working as a
88Meta key, the identical keystroke can be generated by typing <ESC>
89_first_, and then typing <k>. Either process is known as "metafying"
90the <k> key.
91
92 The text `M-C-k' is read as `Meta-Control-k' and describes the
93character 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
97when seen in this text, or in an init file (*note Readline Init File::).
98If your keyboard lacks a <LFD> key, typing <C-j> will produce the
99desired character. The <RET> key may be labeled <Return> or <Enter> on
100some keyboards.
101
102\1f
103File: rluserman.info, Node: Readline Interaction, Next: Readline Init File, Prev: Introduction and Notation, Up: Command Line Editing
104
105Readline Interaction
106====================
107
108 Often during an interactive session you type in a long line of text,
109only to notice that the first word on the line is misspelled. The
110Readline library gives you a set of commands for manipulating the text
111as you type it in, allowing you to just fix your typo, and not forcing
112you to retype the majority of the line. Using these editing commands,
113you move the cursor to the place that needs correction, and delete or
114insert the text of the corrections. Then, when you are satisfied with
115the line, you simply press <RET>. You do not have to be at the end of
116the line to press <RET>; the entire line is accepted regardless of the
117location 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
128File: rluserman.info, Node: Readline Bare Essentials, Next: Readline Movement Commands, Up: Readline Interaction
129
130Readline Bare Essentials
131------------------------
132
133 In order to enter characters into the line, simply type them. The
134typed character appears where the cursor was, and then the cursor moves
135one space to the right. If you mistype a character, you can use your
136erase character to back up and delete the mistyped character.
137
138 Sometimes you may mistype a character, and not notice the error
139until you have typed several other characters. In that case, you can
140type `C-b' to move the cursor to the left, and then correct your
141mistake. 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
144characters to the right of the cursor are `pushed over' to make room
145for the text that you have inserted. Likewise, when you delete text
146behind the cursor, characters to the right of the cursor are `pulled
147back' to fill in the blank space created by the removal of the text. A
148list of the bare essentials for editing the text of an input line
149follows.
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
163Printing 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
171the character to the left of the cursor and the <DEL> key set to delete
172the character underneath the cursor, like `C-d', rather than the
173character to the left of the cursor.)
174
175\1f
176File: rluserman.info, Node: Readline Movement Commands, Next: Readline Killing Commands, Prev: Readline Bare Essentials, Up: Readline Interaction
177
178Readline Movement Commands
179--------------------------
180
181 The above table describes the most basic keystrokes that you need in
182order to do editing of the input line. For your convenience, many
183other 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
203forward a word. It is a loose convention that control keystrokes
204operate on characters while meta keystrokes operate on words.
205
206\1f
207File: rluserman.info, Node: Readline Killing Commands, Next: Readline Arguments, Prev: Readline Movement Commands, Up: Readline Interaction
208
209Readline Killing Commands
210-------------------------
211
212 "Killing" text means to delete the text from the line, but to save
213it away for later use, usually by "yanking" (re-inserting) it back into
214the 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
218can be sure that you can get the text back in a different (or the same)
219place later.
220
221 When you use a kill command, the text is saved in a "kill-ring".
222Any number of consecutive kills save all of the killed text together, so
223that when you yank it back, you get it all. The kill ring is not line
224specific; the text that you killed on a previously typed line is
225available 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
249copy 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
260File: rluserman.info, Node: Readline Arguments, Next: Searching, Prev: Readline Killing Commands, Up: Readline Interaction
261
262Readline Arguments
263------------------
264
265 You can pass numeric arguments to Readline commands. Sometimes the
266argument acts as a repeat count, other times it is the sign of the
267argument that is significant. If you pass a negative argument to a
268command which normally acts in a forward direction, that command will
269act in a backward direction. For example, to kill text back to the
270start of the line, you might type `M-- C-k'.
271
272 The general way to pass numeric arguments to a command is to type
273meta digits before the command. If the first `digit' typed is a minus
274sign (`-'), then the sign of the argument will be negative. Once you
275have typed one meta digit to get the argument started, you can type the
276remainder of the digits, and then the command. For example, to give
277the `C-d' command an argument of 10, you could type `M-1 0 C-d', which
278will delete the next ten characters on the input line.
279
280\1f
281File: rluserman.info, Node: Searching, Prev: Readline Arguments, Up: Readline Interaction
282
283Searching for Commands in the History
284-------------------------------------
285
286 Readline provides commands for searching through the command history
287for 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
291search string. As each character of the search string is typed,
292Readline displays the next entry from the history matching the string
293typed so far. An incremental search requires only as many characters
294as needed to find the desired history entry. To search backward in the
295history for a particular string, type `C-r'. Typing `C-s' searches
296forward through the history. The characters present in the value of
297the `isearch-terminators' variable are used to terminate an incremental
298search. If that variable has not been assigned a value, the <ESC> and
299`C-J' characters will terminate an incremental search. `C-g' will
300abort an incremental search and restore the original line. When the
301search is terminated, the history entry containing the search string
302becomes 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
306history for the next entry matching the search string typed so far.
307Any other key sequence bound to a Readline command will terminate the
308search and execute that command. For instance, a <RET> will terminate
309the search and accept the line, thereby executing the command from the
310history list. A movement command will terminate the search, make the
311last 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
315search string, any remembered search string is used.
316
317 Non-incremental searches read the entire search string before
318starting to search for matching history lines. The search string may be
319typed by the user or be part of the contents of the current line.
320
321\1f
322File: rluserman.info, Node: Readline Init File, Next: Bindable Readline Commands, Prev: Readline Interaction, Up: Command Line Editing
323
324Readline Init File
325==================
326
327 Although the Readline library comes with a set of Emacs-like
328keybindings installed by default, it is possible to use a different set
329of keybindings. Any user can customize programs that use Readline by
330putting commands in an "inputrc" file, conventionally in his home
331directory. The name of this file is taken from the value of the
332environment variable `INPUTRC'. If that variable is unset, the default
333is `~/.inputrc'.
334
335 When a program which uses the Readline library starts up, the init
336file is read, and the key bindings are set.
337
338 In addition, the `C-x C-r' command re-reads this init file, thus
339incorporating 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
350File: rluserman.info, Node: Readline Init File Syntax, Next: Conditional Init Constructs, Up: Readline Init File
351
352Readline Init File Syntax
353-------------------------
354
355 There are only a few basic constructs allowed in the Readline init
356file. Blank lines are ignored. Lines beginning with a `#' are
357comments. Lines beginning with a `$' indicate conditional constructs
358(*note Conditional Init Constructs::). Other lines denote variable
359settings and key bindings.
360
361Variable 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
522Key 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
640File: rluserman.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File
641
642Conditional Init Constructs
643---------------------------
644
645 Readline implements a facility similar in spirit to the conditional
646compilation features of the C preprocessor which allows key bindings
647and variable settings to be performed as the result of tests. There
648are 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
700File: rluserman.info, Node: Sample Init File, Prev: Conditional Init Constructs, Up: Readline Init File
701
702Sample Init File
703----------------
704
705 Here is an example of an INPUTRC file. This illustrates key
706binding, 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
810File: rluserman.info, Node: Bindable Readline Commands, Next: Readline vi Mode, Prev: Readline Init File, Up: Command Line Editing
811
812Bindable 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
827sequences. Command names without an accompanying key sequence are
828unbound by default.
829
830 In the following descriptions, "point" refers to the current cursor
831position, and "mark" refers to a cursor position saved by the
832`set-mark' command. The text between the point and mark is referred to
833as the "region".
834
835\1f
836File: rluserman.info, Node: Commands For Moving, Next: Commands For History, Up: Bindable Readline Commands
837
838Commands 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
870File: rluserman.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands
871
872Commands 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
940File: rluserman.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands
941
942Commands 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
1008File: rluserman.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands
1009
1010Killing 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
1074File: rluserman.info, Node: Numeric Arguments, Next: Commands For Completion, Prev: Commands For Killing, Up: Bindable Readline Commands
1075
1076Specifying 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
1097File: rluserman.info, Node: Commands For Completion, Next: Keyboard Macros, Prev: Numeric Arguments, Up: Bindable Readline Commands
1098
1099Letting 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
1134File: rluserman.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands
1135
1136Keyboard 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
1152File: rluserman.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands
1153
1154Some 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
1240File: rluserman.info, Node: Readline vi Mode, Prev: Bindable Readline Commands, Up: Command Line Editing
1241
1242Readline vi Mode
1243================
1244
1245 While the Readline library does not have a full set of `vi' editing
1246functions, it does contain enough to allow simple editing of the line.
1247The Readline `vi' mode behaves as specified in the POSIX 1003.2
1248standard.
1249
1250 In order to switch interactively between `emacs' and `vi' editing
1251modes, 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
1253default 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
1257you into `command' mode, where you can edit the text of the line with
1258the standard `vi' movement keys, move to previous history lines with
1259`k' and subsequent lines with `j', and so forth.
1260
1261\1f
1262File: rluserman.info, Node: Copying This Manual, Prev: Command Line Editing, Up: Top
1263
1264Copying This Manual
1265*******************
1266
1267* Menu:
1268
1269* GNU Free Documentation License:: License for copying this manual.
1270
1271\1f
1272File: rluserman.info, Node: GNU Free Documentation License, Up: Copying This Manual
1273
1274GNU 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
1671ADDENDUM: 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
1675the License in the document and put the following copyright and license
1676notices 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
1687Texts, 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
1694combination of the three, merge those two alternatives to suit the
1695situation.
1696
1697 If your document contains nontrivial examples of program code, we
1698recommend releasing these examples in parallel under your choice of
1699free software license, such as the GNU General Public License, to
1700permit their use in free software.
1701
1702
1703\1f
1704Tag Table:
1705Node: Top\7f1379
1706Node: Command Line Editing\7f1814
1707Node: Introduction and Notation\7f2456
1708Node: Readline Interaction\7f4075
1709Node: Readline Bare Essentials\7f5263
1710Node: Readline Movement Commands\7f7045
1711Node: Readline Killing Commands\7f8003
1712Node: Readline Arguments\7f9914
1713Node: Searching\7f10951
1714Node: Readline Init File\7f13095
1715Node: Readline Init File Syntax\7f14157
1716Node: Conditional Init Constructs\7f25521
1717Node: Sample Init File\7f28047
1718Node: Bindable Readline Commands\7f31232
1719Node: Commands For Moving\7f32283
1720Node: Commands For History\7f33134
1721Node: Commands For Text\7f35994
1722Node: Commands For Killing\7f38710
1723Node: Numeric Arguments\7f40842
1724Node: Commands For Completion\7f41971
1725Node: Keyboard Macros\7f43505
1726Node: Miscellaneous Commands\7f44066
1727Node: Readline vi Mode\7f47417
1728Node: Copying This Manual\7f48333
1729Node: GNU Free Documentation License\7f48543
1730\1f
1731End Tag Table