xref: /netbsd-src/external/gpl3/gdb/dist/readline/readline/doc/rluserman.info (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
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