From 02d1f6c91a787c58846362179f37451e042de18f Mon Sep 17 00:00:00 2001 From: Elena Zannoni Date: Sun, 9 Jul 2000 16:21:23 +0000 Subject: Initial revision --- readline/doc/rluserman.dvi | Bin 0 -> 61412 bytes readline/doc/rluserman.html | 1566 +++++++++++++++++++++++++++++++++ readline/doc/rluserman.info | 1189 +++++++++++++++++++++++++ readline/doc/rluserman.ps | 1897 ++++++++++++++++++++++++++++++++++++++++ readline/doc/rluserman.texinfo | 94 ++ 5 files changed, 4746 insertions(+) create mode 100644 readline/doc/rluserman.dvi create mode 100644 readline/doc/rluserman.html create mode 100644 readline/doc/rluserman.info create mode 100644 readline/doc/rluserman.ps create mode 100644 readline/doc/rluserman.texinfo (limited to 'readline/doc') diff --git a/readline/doc/rluserman.dvi b/readline/doc/rluserman.dvi new file mode 100644 index 00000000000..0d2bf71f771 Binary files /dev/null and b/readline/doc/rluserman.dvi differ diff --git a/readline/doc/rluserman.html b/readline/doc/rluserman.html new file mode 100644 index 00000000000..b813dda6c1e --- /dev/null +++ b/readline/doc/rluserman.html @@ -0,0 +1,1566 @@ + + + + +GNU Readline Library + + +

GNU Readline Library User Interface

+

Edition 4.1, for Readline Library Version 4.1.

+

January 2000

+
Brian Fox, Free Software Foundation
+
Chet Ramey, Case Western Reserve University
+

+


+

Table of Contents

+ +


+ +

+This document describes the end user interface of the GNU Readline Library, +a utility which aids in the consistency of user interface across discrete +programs that need to provide a command line interface. + +

+

+Published by the Free Software Foundation
+59 Temple Place, Suite 330,
+Boston, MA 02111 USA + +

+

+Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +

+

+Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +

+

+Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by the Free Software Foundation. + +

+

+Copyright (C) 1988-1999 Free Software Foundation, Inc. + +

+ + + +

Command Line Editing

+ +

+This chapter describes the basic features of the GNU +command line editing interface. + +

+ + + + + +

Introduction to Line Editing

+ +

+The following paragraphs describe the notation used to represent +keystrokes. + +

+

+The text C-k is read as `Control-K' and describes the character +produced when the k key is pressed while the Control key +is depressed. + +

+

+The text M-k is read as `Meta-K' and describes the character +produced when the Meta key (if you have one) is depressed, and the k +key is pressed. +The Meta key is labeled ALT on many keyboards. +On keyboards with two keys labeled ALT (usually to either side of +the space bar), the ALT on the left side is generally set to +work as a Meta key. +The ALT key on the right may also be configured to work as a +Meta key or may be configured as some other modifier, such as a +Compose key for typing accented characters. + +

+

+If you do not have a Meta or ALT key, or another key working as +a Meta key, the identical keystroke can be generated by typing ESC +first, and then typing k. +Either process is known as metafying the k key. + +

+

+The text M-C-k is read as `Meta-Control-k' and describes the +character produced by metafying C-k. + +

+

+In addition, several keys have their own names. Specifically, +DEL, ESC, LFD, SPC, RET, and TAB all +stand for themselves when seen in this text, or in an init file +(see section Readline Init File). +If your keyboard lacks a LFD key, typing C-j will +produce the desired character. +The RET key may be labeled Return or Enter on +some keyboards. + +

+ + +

Readline Interaction

+

+ + +

+

+Often during an interactive session you type in a long line of text, +only to notice that the first word on the line is misspelled. The +Readline library gives you a set of commands for manipulating the text +as you type it in, allowing you to just fix your typo, and not forcing +you to retype the majority of the line. Using these editing commands, +you move the cursor to the place that needs correction, and delete or +insert the text of the corrections. Then, when you are satisfied with +the line, you simply press RETURN. You do not have to be at the +end of the line to press RETURN; the entire line is accepted +regardless of the location of the cursor within the line. + +

+ + + + + +

Readline Bare Essentials

+

+ + + + +

+

+In order to enter characters into the line, simply type them. The typed +character appears where the cursor was, and then the cursor moves one +space to the right. If you mistype a character, you can use your +erase character to back up and delete the mistyped character. + +

+

+Sometimes you may mistype a character, and +not notice the error until you have typed several other characters. In +that case, you can type C-b to move the cursor to the left, and then +correct your mistake. Afterwards, you can move the cursor to the right +with C-f. + +

+

+When you add text in the middle of a line, you will notice that characters +to the right of the cursor are `pushed over' to make room for the text +that you have inserted. Likewise, when you delete text behind the cursor, +characters to the right of the cursor are `pulled back' to fill in the +blank space created by the removal of the text. A list of the bare +essentials for editing the text of an input line follows. + +

+
+ +
C-b +
+Move back one character. +
C-f +
+Move forward one character. +
DEL or Backspace +
+Delete the character to the left of the cursor. +
C-d +
+Delete the character underneath the cursor. +
Printing characters +
+Insert the character into the line at the cursor. +
C-_ or C-x C-u +
+Undo the last editing command. You can undo all the way back to an +empty line. +
+ +

+(Depending on your configuration, the Backspace key be set to +delete the character to the left of the cursor and the DEL key set +to delete the character underneath the cursor, like C-d, rather +than the character to the left of the cursor.) + +

+ + +

Readline Movement Commands

+ +

+The above table describes the most basic keystrokes that you need +in order to do editing of the input line. For your convenience, many +other commands have been added in addition to C-b, C-f, +C-d, and DEL. Here are some commands for moving more rapidly +about the line. + +

+
+ +
C-a +
+Move to the start of the line. +
C-e +
+Move to the end of the line. +
M-f +
+Move forward a word, where a word is composed of letters and digits. +
M-b +
+Move backward a word. +
C-l +
+Clear the screen, reprinting the current line at the top. +
+ +

+Notice how C-f moves forward a character, while M-f moves +forward a word. It is a loose convention that control keystrokes +operate on characters while meta keystrokes operate on words. + +

+ + +

Readline Killing Commands

+ +

+ + + +

+

+Killing text means to delete the text from the line, but to save +it away for later use, usually by yanking (re-inserting) +it back into the line. +(`Cut' and `paste' are more recent jargon for `kill' and `yank'.) + +

+

+If the description for a command says that it `kills' text, then you can +be sure that you can get the text back in a different (or the same) +place later. + +

+

+When you use a kill command, the text is saved in a kill-ring. +Any number of consecutive kills save all of the killed text together, so +that when you yank it back, you get it all. The kill +ring is not line specific; the text that you killed on a previously +typed line is available to be yanked back later, when you are typing +another line. + + +

+

+Here is the list of commands for killing text. + +

+
+ +
C-k +
+Kill the text from the current cursor position to the end of the line. + +
M-d +
+Kill from the cursor to the end of the current word, or, if between +words, to the end of the next word. +Word boundaries are the same as those used by M-f. + +
M-DEL +
+Kill from the cursor the start of the previous word, or, if between +words, to the start of the previous word. +Word boundaries are the same as those used by M-b. + +
C-w +
+Kill from the cursor to the previous whitespace. This is different than +M-DEL because the word boundaries differ. + +
+ +

+Here is how to yank the text back into the line. Yanking +means to copy the most-recently-killed text from the kill buffer. + +

+
+ +
C-y +
+Yank the most recently killed text back into the buffer at the cursor. + +
M-y +
+Rotate the kill-ring, and yank the new top. You can only do this if +the prior command is C-y or M-y. +
+ + + +

Readline Arguments

+ +

+You can pass numeric arguments to Readline commands. Sometimes the +argument acts as a repeat count, other times it is the sign of the +argument that is significant. If you pass a negative argument to a +command which normally acts in a forward direction, that command will +act in a backward direction. For example, to kill text back to the +start of the line, you might type `M-- C-k'. + +

+

+The general way to pass numeric arguments to a command is to type meta +digits before the command. If the first `digit' typed is a minus +sign (`-'), then the sign of the argument will be negative. Once +you have typed one meta digit to get the argument started, you can type +the remainder of the digits, and then the command. For example, to give +the C-d command an argument of 10, you could type `M-1 0 C-d'. + +

+ + +

Searching for Commands in the History

+ +

+Readline provides commands for searching through the command history +for lines containing a specified string. +There are two search modes: incremental and non-incremental. + +

+

+Incremental searches begin before the user has finished typing the +search string. +As each character of the search string is typed, Readline displays +the next entry from the history matching the string typed so far. +An incremental search requires only as many characters as needed to +find the desired history entry. +To search backward in the history for a particular string, type +C-r. Typing C-s searches forward through the history. +The characters present in the value of the isearch-terminators variable +are used to terminate an incremental search. +If that variable has not been assigned a value, the ESC and +C-J characters will terminate an incremental search. +C-g will abort an incremental search and restore the original line. +When the search is terminated, the history entry containing the +search string becomes the current line. + +

+

+To find other matching entries in the history list, type C-r or +C-s as appropriate. +This will search backward or forward in the history for the next +entry matching the search string typed so far. +Any other key sequence bound to a Readline command will terminate +the search and execute that command. +For instance, a RET will terminate the search and accept +the line, thereby executing the command from the history list. + +

+

+Non-incremental searches read the entire search string before starting +to search for matching history lines. The search string may be +typed by the user or be part of the contents of the current line. + +

+ + +

Readline Init File

+

+ + +

+

+Although the Readline library comes with a set of Emacs-like +keybindings installed by default, it is possible to use a different set +of keybindings. +Any user can customize programs that use Readline by putting +commands in an inputrc file, conventionally in his home directory. +The name of this +file is taken from the value of the environment variable INPUTRC. If +that variable is unset, the default is `~/.inputrc'. + +

+

+When a program which uses the Readline library starts up, the +init file is read, and the key bindings are set. + +

+

+In addition, the C-x C-r command re-reads this init file, thus +incorporating any changes that you might have made to it. + +

+ + + + + +

Readline Init File Syntax

+ +

+There are only a few basic constructs allowed in the +Readline init file. Blank lines are ignored. +Lines beginning with a `#' are comments. +Lines beginning with a `$' indicate conditional +constructs (see section Conditional Init Constructs). Other lines +denote variable settings and key bindings. + +

+
+ +
Variable Settings +
+You can modify the run-time behavior of Readline by +altering the values of variables in Readline +using the set command within the init file. Here is how to +change from the default Emacs-like key binding to use +vi line editing commands: + + +
+set editing-mode vi
+
+ +A great deal of run-time behavior is changeable with the following +variables. + +
+ +
bell-style +
+ +Controls what happens when Readline wants to ring the terminal bell. +If set to `none', Readline never rings the bell. If set to +`visible', Readline uses a visible bell if one is available. +If set to `audible' (the default), Readline attempts to ring +the terminal's bell. + +
comment-begin +
+ +The string to insert at the beginning of the line when the +insert-comment command is executed. The default value +is "#". + +
completion-ignore-case +
+If set to `on', Readline performs filename matching and completion +in a case-insensitive fashion. +The default value is `off'. + +
completion-query-items +
+ +The number of possible completions that determines when the user is +asked whether he wants to see the list of possibilities. If the +number of possible completions is greater than this value, +Readline will ask the user whether or not he wishes to view +them; otherwise, they are simply listed. The default limit is +100. + +
convert-meta +
+ +If set to `on', Readline will convert characters with the +eighth bit set to an ASCII key sequence by stripping the eighth +bit and prefixing an ESC character, converting them to a +meta-prefixed key sequence. The default value is `on'. + +
disable-completion +
+ +If set to `On', Readline will inhibit word completion. +Completion characters will be inserted into the line as if they had +been mapped to self-insert. The default is `off'. + +
editing-mode +
+ +The editing-mode variable controls which default set of +key bindings is used. By default, Readline starts up in Emacs editing +mode, where the keystrokes are most similar to Emacs. This variable can be +set to either `emacs' or `vi'. + +
enable-keypad +
+ +When set to `on', Readline will try to enable the application +keypad when it is called. Some systems need this to enable the +arrow keys. The default is `off'. + +
expand-tilde +
+ +If set to `on', tilde expansion is performed when Readline +attempts word completion. The default is `off'. + +
horizontal-scroll-mode +
+ +This variable can be set to either `on' or `off'. Setting it +to `on' means that the text of the lines being edited will scroll +horizontally on a single screen line when they are longer than the width +of the screen, instead of wrapping onto a new screen line. By default, +this variable is set to `off'. + +
input-meta +
+ + +If set to `on', Readline will enable eight-bit input (it +will not strip the eighth bit from the characters it reads), +regardless of what the terminal claims it can support. The +default value is `off'. The name meta-flag is a +synonym for this variable. + +
isearch-terminators +
+ +The string of characters that should terminate an incremental search without +subsequently executing the character as a command (see section Searching for Commands in the History). +If this variable has not been given a value, the characters ESC and +C-J will terminate an incremental search. + +
keymap +
+ +Sets Readline's idea of the current keymap for key binding commands. +Acceptable keymap names are +emacs, +emacs-standard, +emacs-meta, +emacs-ctlx, +vi, +vi-command, and +vi-insert. +vi is equivalent to vi-command; emacs is +equivalent to emacs-standard. The default value is emacs. +The value of the editing-mode variable also affects the +default keymap. + +
mark-directories +
+If set to `on', completed directory names have a slash +appended. The default is `on'. + +
mark-modified-lines +
+ +This variable, when set to `on', causes Readline to display an +asterisk (`*') at the start of history lines which have been modified. +This variable is `off' by default. + +
output-meta +
+ +If set to `on', Readline will display characters with the +eighth bit set directly rather than as a meta-prefixed escape +sequence. The default is `off'. + +
print-completions-horizontally +
+If set to `on', Readline will display completions with matches +sorted horizontally in alphabetical order, rather than down the screen. +The default is `off'. + +
show-all-if-ambiguous +
+ +This alters the default behavior of the completion functions. If +set to `on', +words which have more than one possible completion cause the +matches to be listed immediately instead of ringing the bell. +The default value is `off'. + +
visible-stats +
+ +If set to `on', a character denoting a file's type +is appended to the filename when listing possible +completions. The default is `off'. + +
+ +
Key Bindings +
+The syntax for controlling key bindings in the init file is +simple. First you need to find the name of the command that you +want to change. The following sections contain tables of the command +name, the default keybinding, if any, and a short description of what +the command does. + +Once you know the name of the command, simply place the name of the key +you wish to bind the command to, a colon, and then the name of the +command on a line in the init file. The name of the key +can be expressed in different ways, depending on which is most +comfortable for you. + +
+ +
keyname: function-name or macro +
+keyname is the name of a key spelled out in English. For example: + +
+Control-u: universal-argument
+Meta-Rubout: backward-kill-word
+Control-o: "> output"
+
+ +In the above example, C-u is bound to the function +universal-argument, and C-o is bound to run the macro +expressed on the right hand side (that is, to insert the text +`> output' into the line). + +
"keyseq": function-name or macro +
+keyseq differs from keyname above in that strings +denoting an entire key sequence can be specified, by placing +the key sequence in double quotes. Some GNU Emacs style key +escapes can be used, as in the following example, but the +special character names are not recognized. + + +
+"\C-u": universal-argument
+"\C-x\C-r": re-read-init-file
+"\e[11~": "Function Key 1"
+
+ +In the above example, C-u is bound to the function +universal-argument (just as it was in the first example), +`C-x C-r' is bound to the function re-read-init-file, +and `ESC [ 1 1 ~' is bound to insert +the text `Function Key 1'. + +
+ +The following GNU Emacs style escape sequences are available when +specifying key sequences: + +
+ +
\C- +
+control prefix +
\M- +
+meta prefix +
\e +
+an escape character +
\\ +
+backslash +
\" +
+", a double quotation mark +
\' +
+', a single quote or apostrophe +
+ +In addition to the GNU Emacs style escape sequences, a second +set of backslash escapes is available: + +
+ +
\a +
+alert (bell) +
\b +
+backspace +
\d +
+delete +
\f +
+form feed +
\n +
+newline +
\r +
+carriage return +
\t +
+horizontal tab +
\v +
+vertical tab +
\nnn +
+the character whose ASCII code is the octal value nnn +(one to three digits) +
\xnnn +
+the character whose ASCII code is the hexadecimal value nnn +(one to three digits) +
+ +When entering the text of a macro, single or double quotes must +be used to indicate a macro definition. +Unquoted text is assumed to be a function name. +In the macro body, the backslash escapes described above are expanded. +Backslash will quote any other character in the macro text, +including `"' and `''. +For example, the following binding will make `C-x \' +insert a single `\' into the line: + +
+"\C-x\\": "\\"
+
+ +
+ + + +

Conditional Init Constructs

+ +

+Readline implements a facility similar in spirit to the conditional +compilation features of the C preprocessor which allows key +bindings and variable settings to be performed as the result +of tests. There are four parser directives used. + +

+
+ +
$if +
+The $if construct allows bindings to be made based on the +editing mode, the terminal being used, or the application using +Readline. The text of the test extends to the end of the line; +no characters are required to isolate it. + +
+ +
mode +
+The mode= form of the $if directive is used to test +whether Readline is in emacs or vi mode. +This may be used in conjunction +with the `set keymap' command, for instance, to set bindings in +the emacs-standard and emacs-ctlx keymaps only if +Readline is starting out in emacs mode. + +
term +
+The term= form may be used to include terminal-specific +key bindings, perhaps to bind the key sequences output by the +terminal's function keys. The word on the right side of the +`=' is tested against both the full name of the terminal and +the portion of the terminal name before the first `-'. This +allows sun to match both sun and sun-cmd, +for instance. + +
application +
+The application construct is used to include +application-specific settings. Each program using the Readline +library sets the application name, and you can test for it. +This could be used to bind key sequences to functions useful for +a specific program. For instance, the following command adds a +key sequence that quotes the current or previous word in Bash: + +
+$if Bash
+# Quote the current or previous word
+"\C-xq": "\eb\"\ef\""
+$endif
+
+ +
+ +
$endif +
+This command, as seen in the previous example, terminates an +$if command. + +
$else +
+Commands in this branch of the $if directive are executed if +the test fails. + +
$include +
+This directive takes a single filename as an argument and reads commands +and bindings from that file. + +
+$include /etc/inputrc
+
+ +
+ + + +

Sample Init File

+ +

+Here is an example of an inputrc file. This illustrates key +binding, variable assignment, and conditional syntax. + +

+ +
+# This file controls the behaviour of line input editing for
+# programs that use the Gnu Readline library.  Existing programs
+# include FTP, Bash, and Gdb.
+#
+# You can re-read the inputrc file with C-x C-r.
+# Lines beginning with '#' are comments.
+#
+# First, include any systemwide bindings and variable assignments from
+# /etc/Inputrc
+$include /etc/Inputrc
+
+#
+# Set various bindings for emacs mode.
+
+set editing-mode emacs 
+
+$if mode=emacs
+
+Meta-Control-h:	backward-kill-word	Text after the function name is ignored
+
+#
+# Arrow keys in keypad mode
+#
+#"\M-OD":        backward-char
+#"\M-OC":        forward-char
+#"\M-OA":        previous-history
+#"\M-OB":        next-history
+#
+# Arrow keys in ANSI mode
+#
+"\M-[D":        backward-char
+"\M-[C":        forward-char
+"\M-[A":        previous-history
+"\M-[B":        next-history
+#
+# Arrow keys in 8 bit keypad mode
+#
+#"\M-\C-OD":       backward-char
+#"\M-\C-OC":       forward-char
+#"\M-\C-OA":       previous-history
+#"\M-\C-OB":       next-history
+#
+# Arrow keys in 8 bit ANSI mode
+#
+#"\M-\C-[D":       backward-char
+#"\M-\C-[C":       forward-char
+#"\M-\C-[A":       previous-history
+#"\M-\C-[B":       next-history
+
+C-q: quoted-insert
+
+$endif
+
+# An old-style binding.  This happens to be the default.
+TAB: complete
+
+# Macros that are convenient for shell interaction
+$if Bash
+# edit the path
+"\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
+# prepare to type a quoted word -- insert open and close double quotes
+# and move to just after the open quote
+"\C-x\"": "\"\"\C-b"
+# insert a backslash (testing backslash escapes in sequences and macros)
+"\C-x\\": "\\"
+# Quote the current or previous word
+"\C-xq": "\eb\"\ef\""
+# Add a binding to refresh the line, which is unbound
+"\C-xr": redraw-current-line
+# Edit variable on current line.
+"\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
+$endif
+
+# use a visible bell if one is available
+set bell-style visible
+
+# don't strip characters to 7 bits when reading
+set input-meta on
+
+# allow iso-latin1 characters to be inserted rather than converted to
+# prefix-meta sequences
+set convert-meta off
+
+# display characters with the eighth bit set directly rather than
+# as meta-prefixed characters
+set output-meta on
+
+# if there are more than 150 possible completions for a word, ask the
+# user if he wants to see all of them
+set completion-query-items 150
+
+# For FTP
+$if Ftp
+"\C-xg": "get \M-?"
+"\C-xt": "put \M-?"
+"\M-.": yank-last-arg
+$endif
+
+ + + +

Bindable Readline Commands

+ + + + +

+This section describes Readline commands that may be bound to key +sequences. + +

+

+Command names without an accompanying key sequence are unbound by default. +In the following descriptions, point refers to the current cursor +position, and mark refers to a cursor position saved by the +set-mark command. +The text between the point and mark is referred to as the region. + +

+ + +

Commands For Moving

+
+ +
beginning-of-line (C-a) +
+ +Move to the start of the current line. + +
end-of-line (C-e) +
+ +Move to the end of the line. + +
forward-char (C-f) +
+ +Move forward a character. + +
backward-char (C-b) +
+ +Move back a character. + +
forward-word (M-f) +
+ +Move forward to the end of the next word. Words are composed of +letters and digits. + +
backward-word (M-b) +
+ +Move back to the start of the current or previous word. Words are +composed of letters and digits. + +
clear-screen (C-l) +
+ +Clear the screen and redraw the current line, +leaving the current line at the top of the screen. + +
redraw-current-line () +
+ +Refresh the current line. By default, this is unbound. + +
+ + + +

Commands For Manipulating The History

+ +
+ +
accept-line (Newline, Return) +
+ +Accept the line regardless of where the cursor is. If this line is +non-empty, add it to the history list. If this line was a history +line, then restore the history line to its original state. + +
previous-history (C-p) +
+ +Move `up' through the history list. + +
next-history (C-n) +
+ +Move `down' through the history list. + +
beginning-of-history (M-<) +
+ +Move to the first line in the history. + +
end-of-history (M->) +
+ +Move to the end of the input history, i.e., the line currently +being entered. + +
reverse-search-history (C-r) +
+ +Search backward starting at the current line and moving `up' through +the history as necessary. This is an incremental search. + +
forward-search-history (C-s) +
+ +Search forward starting at the current line and moving `down' through +the the history as necessary. This is an incremental search. + +
non-incremental-reverse-search-history (M-p) +
+ +Search backward starting at the current line and moving `up' +through the history as necessary using a non-incremental search +for a string supplied by the user. + +
non-incremental-forward-search-history (M-n) +
+ +Search forward starting at the current line and moving `down' +through the the history as necessary using a non-incremental search +for a string supplied by the user. + +
history-search-forward () +
+ +Search forward through the history for the string of characters +between the start of the current line and the point. +This is a non-incremental search. +By default, this command is unbound. + +
history-search-backward () +
+ +Search backward through the history for the string of characters +between the start of the current line and the point. This +is a non-incremental search. By default, this command is unbound. + +
yank-nth-arg (M-C-y) +
+ +Insert the first argument to the previous command (usually +the second word on the previous line). With an argument n, +insert the nth word from the previous command (the words +in the previous command begin with word 0). A negative argument +inserts the nth word from the end of the previous command. + +
yank-last-arg (M-., M-_) +
+ +Insert last argument to the previous command (the last word of the +previous history entry). With an +argument, behave exactly like yank-nth-arg. +Successive calls to yank-last-arg move back through the history +list, inserting the last argument of each line in turn. + +
+ + + +

Commands For Changing Text

+ +
+ +
delete-char (C-d) +
+ +Delete the character under the cursor. If the cursor is at the +beginning of the line, there are no characters in the line, and +the last character typed was not bound to delete-char, then +return EOF. + +
backward-delete-char (Rubout) +
+ +Delete the character behind the cursor. A numeric argument means +to kill the characters instead of deleting them. + +
forward-backward-delete-char () +
+ +Delete the character under the cursor, unless the cursor is at the +end of the line, in which case the character behind the cursor is +deleted. By default, this is not bound to a key. + +
quoted-insert (C-q, C-v) +
+ +Add the next character typed to the line verbatim. This is +how to insert key sequences like C-q, for example. + +
tab-insert (M-TAB) +
+ +Insert a tab character. + +
self-insert (a, b, A, 1, !, ...) +
+ +Insert yourself. + +
transpose-chars (C-t) +
+ +Drag the character before the cursor forward over +the character at the cursor, moving the +cursor forward as well. If the insertion point +is at the end of the line, then this +transposes the last two characters of the line. +Negative arguments have no effect. + +
transpose-words (M-t) +
+ +Drag the word before point past the word after point, +moving point past that word as well. + +
upcase-word (M-u) +
+ +Uppercase the current (or following) word. With a negative argument, +uppercase the previous word, but do not move the cursor. + +
downcase-word (M-l) +
+ +Lowercase the current (or following) word. With a negative argument, +lowercase the previous word, but do not move the cursor. + +
capitalize-word (M-c) +
+ +Capitalize the current (or following) word. With a negative argument, +capitalize the previous word, but do not move the cursor. + +
+ + + +

Killing And Yanking

+ +
+ +
kill-line (C-k) +
+ +Kill the text from point to the end of the line. + +
backward-kill-line (C-x Rubout) +
+ +Kill backward to the beginning of the line. + +
unix-line-discard (C-u) +
+ +Kill backward from the cursor to the beginning of the current line. + +
kill-whole-line () +
+ +Kill all characters on the current line, no matter point is. +By default, this is unbound. + +
kill-word (M-d) +
+ +Kill from point to the end of the current word, or if between +words, to the end of the next word. +Word boundaries are the same as forward-word. + +
backward-kill-word (M-DEL) +
+ +Kill the word behind point. +Word boundaries are the same as backward-word. + +
unix-word-rubout (C-w) +
+ +Kill the word behind point, using white space as a word boundary. +The killed text is saved on the kill-ring. + +
delete-horizontal-space () +
+ +Delete all spaces and tabs around point. By default, this is unbound. + +
kill-region () +
+ +Kill the text in the current region. +By default, this command is unbound. + +
copy-region-as-kill () +
+ +Copy the text in the region to the kill buffer, so it can be yanked +right away. By default, this command is unbound. + +
copy-backward-word () +
+ +Copy the word before point to the kill buffer. +The word boundaries are the same as backward-word. +By default, this command is unbound. + +
copy-forward-word () +
+ +Copy the word following point to the kill buffer. +The word boundaries are the same as forward-word. +By default, this command is unbound. + +
yank (C-y) +
+ +Yank the top of the kill ring into the buffer at the current +cursor position. + +
yank-pop (M-y) +
+ +Rotate the kill-ring, and yank the new top. You can only do this if +the prior command is yank or yank-pop. +
+ + + +

Specifying Numeric Arguments

+
+ +
digit-argument (M-0, M-1, ... M--) +
+ +Add this digit to the argument already accumulating, or start a new +argument. M-- starts a negative argument. + +
universal-argument () +
+ +This is another way to specify an argument. +If this command is followed by one or more digits, optionally with a +leading minus sign, those digits define the argument. +If the command is followed by digits, executing universal-argument +again ends the numeric argument, but is otherwise ignored. +As a special case, if this command is immediately followed by a +character that is neither a digit or minus sign, the argument count +for the next command is multiplied by four. +The argument count is initially one, so executing this function the +first time makes the argument count four, a second time makes the +argument count sixteen, and so on. +By default, this is not bound to a key. +
+ + + +

Letting Readline Type For You

+ +
+ +
complete (TAB) +
+ +Attempt to do completion on the text before the cursor. This is +application-specific. Generally, if you are typing a filename +argument, you can do filename completion; if you are typing a command, +you can do command completion; if you are typing in a symbol to GDB, you +can do symbol name completion; if you are typing in a variable to Bash, +you can do variable name completion, and so on. + +
possible-completions (M-?) +
+ +List the possible completions of the text before the cursor. + +
insert-completions (M-*) +
+ +Insert all completions of the text before point that would have +been generated by possible-completions. + +
menu-complete () +
+ +Similar to complete, but replaces the word to be completed +with a single match from the list of possible completions. +Repeated execution of menu-complete steps through the list +of possible completions, inserting each match in turn. +At the end of the list of completions, the bell is rung and the +original text is restored. +An argument of n moves n positions forward in the list +of matches; a negative argument may be used to move backward +through the list. +This command is intended to be bound to TAB, but is unbound +by default. + +
delete-char-or-list () +
+ +Deletes the character under the cursor if not at the beginning or +end of the line (like delete-char). +If at the end of the line, behaves identically to +possible-completions. +This command is unbound by default. + +
+ + + +

Keyboard Macros

+
+ +
start-kbd-macro (C-x () +
+ +Begin saving the characters typed into the current keyboard macro. + +
end-kbd-macro (C-x )) +
+ +Stop saving the characters typed into the current keyboard macro +and save the definition. + +
call-last-kbd-macro (C-x e) +
+ +Re-execute the last keyboard macro defined, by making the characters +in the macro appear as if typed at the keyboard. + +
+ + + +

Some Miscellaneous Commands

+
+ +
re-read-init-file (C-x C-r) +
+ +Read in the contents of the inputrc file, and incorporate +any bindings or variable assignments found there. + +
abort (C-g) +
+ +Abort the current editing command and +ring the terminal's bell (subject to the setting of +bell-style). + +
do-uppercase-version (M-a, M-b, M-x, ...) +
+ +If the metafied character x is lowercase, run the command +that is bound to the corresponding uppercase character. + +
prefix-meta (ESC) +
+ +Make the next character typed be metafied. This is for keyboards +without a meta key. Typing `ESC f' is equivalent to typing +`M-f'. + +
undo (C-_, C-x C-u) +
+ +Incremental undo, separately remembered for each line. + +
revert-line (M-r) +
+ +Undo all changes made to this line. This is like executing the undo +command enough times to get back to the beginning. + +
tilde-expand (M-~) +
+ +Perform tilde expansion on the current word. + +
set-mark (C-@) +
+ +Set the mark to the current point. If a +numeric argument is supplied, the mark is set to that position. + +
exchange-point-and-mark (C-x C-x) +
+ +Swap the point with the mark. The current cursor position is set to +the saved position, and the old cursor position is saved as the mark. + +
character-search (C-]) +
+ +A character is read and point is moved to the next occurrence of that +character. A negative count searches for previous occurrences. + +
character-search-backward (M-C-]) +
+ +A character is read and point is moved to the previous occurrence +of that character. A negative count searches for subsequent +occurrences. + +
insert-comment (M-#) +
+ +The value of the comment-begin +variable is inserted at the beginning of the current line, +and the line is accepted as if a newline had been typed. + +
dump-functions () +
+ +Print all of the functions and their key bindings to the +Readline output stream. If a numeric argument is supplied, +the output is formatted in such a way that it can be made part +of an inputrc file. This command is unbound by default. + +
dump-variables () +
+ +Print all of the settable variables and their values to the +Readline output stream. If a numeric argument is supplied, +the output is formatted in such a way that it can be made part +of an inputrc file. This command is unbound by default. + +
dump-macros () +
+ +Print all of the Readline key sequences bound to macros and the +strings they ouput. If a numeric argument is supplied, +the output is formatted in such a way that it can be made part +of an inputrc file. This command is unbound by default. + +
+ + + +

Readline vi Mode

+ +

+While the Readline library does not have a full set of vi +editing functions, it does contain enough to allow simple editing +of the line. The Readline vi mode behaves as specified in +the POSIX 1003.2 standard. + +

+

+In order to switch interactively between emacs and vi +editing modes, use the command M-C-j (toggle-editing-mode). +The Readline default is emacs mode. + +

+

+When you enter a line in vi mode, you are already placed in +`insertion' mode, as if you had typed an `i'. Pressing ESC +switches you into `command' mode, where you can edit the text of the +line with the standard vi movement keys, move to previous +history lines with `k' and subsequent lines with `j', and +so forth. + +

+ +


+This document was generated on 1 March 2000 using the +texi2html +translator version 1.52.

+ + diff --git a/readline/doc/rluserman.info b/readline/doc/rluserman.info new file mode 100644 index 00000000000..b714421c402 --- /dev/null +++ b/readline/doc/rluserman.info @@ -0,0 +1,1189 @@ +This is Info file rluserman.info, produced by Makeinfo version 1.68 +from the input file +/usr/homes/chet/src/bash/readline-src/doc/rluserman.texinfo. + +INFO-DIR-SECTION Libraries +START-INFO-DIR-ENTRY +* Readline: (readline). The GNU readline library API +END-INFO-DIR-ENTRY + + This document describes the end user interface of the GNU Readline +Library, a utility which aids in the consistency of user interface +across discrete programs that need to provide a command line interface. + + Copyright (C) 1988-1999 Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice pare +preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided that +the entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that this permission notice may be stated in a +translation approved by the Free Software Foundation. + + +File: rluserman.info, Node: Top, Next: Command Line Editing, Up: (dir) + +GNU Readline Library +******************** + + This document describes the end user interface of the GNU Readline +Library, a utility which aids in the consistency of user interface +across discrete programs that need to provide a command line interface. + +* Menu: + +* Command Line Editing:: GNU Readline User's Manual. + + +File: rluserman.info, Node: Command Line Editing, Prev: Top, Up: Top + +Command Line Editing +******************** + + This chapter describes the basic features of the GNU command line +editing interface. + +* Menu: + +* Introduction and Notation:: Notation used in this text. +* Readline Interaction:: The minimum set of commands for editing a line. +* Readline Init File:: Customizing Readline from a user's view. +* Bindable Readline Commands:: A description of most of the Readline commands + available for binding +* Readline vi Mode:: A short description of how to make Readline + behave like the vi editor. + + +File: rluserman.info, Node: Introduction and Notation, Next: Readline Interaction, Up: Command Line Editing + +Introduction to Line Editing +============================ + + The following paragraphs describe the notation used to represent +keystrokes. + + The text is read as `Control-K' and describes the character +produced when the key is pressed while the Control key is depressed. + + The text is read as `Meta-K' and describes the character +produced when the Meta key (if you have one) is depressed, and the +key is pressed. The Meta key is labeled on many keyboards. On +keyboards with two keys labeled (usually to either side of the +space bar), the on the left side is generally set to work as a +Meta key. The key on the right may also be configured to work as +a Meta key or may be configured as some other modifier, such as a +Compose key for typing accented characters. + + If you do not have a Meta or key, or another key working as a +Meta key, the identical keystroke can be generated by typing +first, and then typing . Either process is known as "metafying" the + key. + + The text is read as `Meta-Control-k' and describes the +character produced by "metafying" . + + In addition, several keys have their own names. Specifically, +, , , , , and all stand for themselves +when seen in this text, or in an init file (*note Readline Init +File::.). If your keyboard lacks a key, typing will +produce the desired character. The key may be labeled +or on some keyboards. + + +File: rluserman.info, Node: Readline Interaction, Next: Readline Init File, Prev: Introduction and Notation, Up: Command Line Editing + +Readline Interaction +==================== + + Often during an interactive session you type in a long line of text, +only to notice that the first word on the line is misspelled. The +Readline library gives you a set of commands for manipulating the text +as you type it in, allowing you to just fix your typo, and not forcing +you to retype the majority of the line. Using these editing commands, +you move the cursor to the place that needs correction, and delete or +insert the text of the corrections. Then, when you are satisfied with +the line, you simply press . You do not have to be at the end +of the line to press ; the entire line is accepted regardless +of the location of the cursor within the line. + +* Menu: + +* Readline Bare Essentials:: The least you need to know about Readline. +* Readline Movement Commands:: Moving about the input line. +* Readline Killing Commands:: How to delete text, and how to get it back! +* Readline Arguments:: Giving numeric arguments to commands. +* Searching:: Searching through previous lines. + + +File: rluserman.info, Node: Readline Bare Essentials, Next: Readline Movement Commands, Up: Readline Interaction + +Readline Bare Essentials +------------------------ + + In order to enter characters into the line, simply type them. The +typed character appears where the cursor was, and then the cursor moves +one space to the right. If you mistype a character, you can use your +erase character to back up and delete the mistyped character. + + Sometimes you may mistype a character, and not notice the error +until you have typed several other characters. In that case, you can +type to move the cursor to the left, and then correct your +mistake. Afterwards, you can move the cursor to the right with . + + When you add text in the middle of a line, you will notice that +characters to the right of the cursor are `pushed over' to make room +for the text that you have inserted. Likewise, when you delete text +behind the cursor, characters to the right of the cursor are `pulled +back' to fill in the blank space created by the removal of the text. A +list of the bare essentials for editing the text of an input line +follows. + + + Move back one character. + + + Move forward one character. + + or + Delete the character to the left of the cursor. + + + Delete the character underneath the cursor. + +Printing characters + Insert the character into the line at the cursor. + + or + Undo the last editing command. You can undo all the way back to an + empty line. + +(Depending on your configuration, the key be set to delete +the character to the left of the cursor and the key set to delete +the character underneath the cursor, like , rather than the +character to the left of the cursor.) + + +File: rluserman.info, Node: Readline Movement Commands, Next: Readline Killing Commands, Prev: Readline Bare Essentials, Up: Readline Interaction + +Readline Movement Commands +-------------------------- + + The above table describes the most basic keystrokes that you need in +order to do editing of the input line. For your convenience, many +other commands have been added in addition to , , , and +. Here are some commands for moving more rapidly about the line. + + + Move to the start of the line. + + + Move to the end of the line. + + + Move forward a word, where a word is composed of letters and + digits. + + + Move backward a word. + + + Clear the screen, reprinting the current line at the top. + + Notice how moves forward a character, while moves +forward a word. It is a loose convention that control keystrokes +operate on characters while meta keystrokes operate on words. + + +File: rluserman.info, Node: Readline Killing Commands, Next: Readline Arguments, Prev: Readline Movement Commands, Up: Readline Interaction + +Readline Killing Commands +------------------------- + + "Killing" text means to delete the text from the line, but to save +it away for later use, usually by "yanking" (re-inserting) it back into +the line. (`Cut' and `paste' are more recent jargon for `kill' and +`yank'.) + + If the description for a command says that it `kills' text, then you +can be sure that you can get the text back in a different (or the same) +place later. + + When you use a kill command, the text is saved in a "kill-ring". +Any number of consecutive kills save all of the killed text together, so +that when you yank it back, you get it all. The kill ring is not line +specific; the text that you killed on a previously typed line is +available to be yanked back later, when you are typing another line. + + Here is the list of commands for killing text. + + + Kill the text from the current cursor position to the end of the + line. + + + Kill from the cursor to the end of the current word, or, if between + words, to the end of the next word. Word boundaries are the same + as those used by . + + + Kill from the cursor the start of the previous word, or, if between + words, to the start of the previous word. Word boundaries are the + same as those used by . + + + Kill from the cursor to the previous whitespace. This is + different than because the word boundaries differ. + + Here is how to "yank" the text back into the line. Yanking means to +copy the most-recently-killed text from the kill buffer. + + + Yank the most recently killed text back into the buffer at the + cursor. + + + Rotate the kill-ring, and yank the new top. You can only do this + if the prior command is or . + + +File: rluserman.info, Node: Readline Arguments, Next: Searching, Prev: Readline Killing Commands, Up: Readline Interaction + +Readline Arguments +------------------ + + You can pass numeric arguments to Readline commands. Sometimes the +argument acts as a repeat count, other times it is the sign of the +argument that is significant. If you pass a negative argument to a +command which normally acts in a forward direction, that command will +act in a backward direction. For example, to kill text back to the +start of the line, you might type `M-- C-k'. + + The general way to pass numeric arguments to a command is to type +meta digits before the command. If the first `digit' typed is a minus +sign (`-'), then the sign of the argument will be negative. Once you +have typed one meta digit to get the argument started, you can type the +remainder of the digits, and then the command. For example, to give +the command an argument of 10, you could type `M-1 0 C-d'. + + +File: rluserman.info, Node: Searching, Prev: Readline Arguments, Up: Readline Interaction + +Searching for Commands in the History +------------------------------------- + + Readline provides commands for searching through the command history +for lines containing a specified string. There are two search modes: +INCREMENTAL and NON-INCREMENTAL. + + Incremental searches begin before the user has finished typing the +search string. As each character of the search string is typed, +Readline displays the next entry from the history matching the string +typed so far. An incremental search requires only as many characters +as needed to find the desired history entry. To search backward in the +history for a particular string, type . Typing searches +forward through the history. The characters present in the value of +the `isearch-terminators' variable are used to terminate an incremental +search. If that variable has not been assigned a value, the and + characters will terminate an incremental search. will +abort an incremental search and restore the original line. When the +search is terminated, the history entry containing the search string +becomes the current line. + + To find other matching entries in the history list, type or + as appropriate. This will search backward or forward in the +history for the next entry matching the search string typed so far. +Any other key sequence bound to a Readline command will terminate the +search and execute that command. For instance, a will terminate +the search and accept the line, thereby executing the command from the +history list. + + Non-incremental searches read the entire search string before +starting to search for matching history lines. The search string may be +typed by the user or be part of the contents of the current line. + + +File: rluserman.info, Node: Readline Init File, Next: Bindable Readline Commands, Prev: Readline Interaction, Up: Command Line Editing + +Readline Init File +================== + + Although the Readline library comes with a set of Emacs-like +keybindings installed by default, it is possible to use a different set +of keybindings. Any user can customize programs that use Readline by +putting commands in an "inputrc" file, conventionally in his home +directory. The name of this file is taken from the value of the +environment variable `INPUTRC'. If that variable is unset, the default +is `~/.inputrc'. + + When a program which uses the Readline library starts up, the init +file is read, and the key bindings are set. + + In addition, the `C-x C-r' command re-reads this init file, thus +incorporating any changes that you might have made to it. + +* Menu: + +* Readline Init File Syntax:: Syntax for the commands in the inputrc file. + +* Conditional Init Constructs:: Conditional key bindings in the inputrc file. + +* Sample Init File:: An example inputrc file. + + +File: rluserman.info, Node: Readline Init File Syntax, Next: Conditional Init Constructs, Up: Readline Init File + +Readline Init File Syntax +------------------------- + + There are only a few basic constructs allowed in the Readline init +file. Blank lines are ignored. Lines beginning with a `#' are +comments. Lines beginning with a `$' indicate conditional constructs +(*note Conditional Init Constructs::.). Other lines denote variable +settings and key bindings. + +Variable Settings + You can modify the run-time behavior of Readline by altering the + values of variables in Readline using the `set' command within the + init file. Here is how to change from the default Emacs-like key + binding to use `vi' line editing commands: + + set editing-mode vi + + A great deal of run-time behavior is changeable with the following + variables. + + `bell-style' + Controls what happens when Readline wants to ring the + terminal bell. If set to `none', Readline never rings the + bell. If set to `visible', Readline uses a visible bell if + one is available. If set to `audible' (the default), + Readline attempts to ring the terminal's bell. + + `comment-begin' + The string to insert at the beginning of the line when the + `insert-comment' command is executed. The default value is + `"#"'. + + `completion-ignore-case' + If set to `on', Readline performs filename matching and + completion in a case-insensitive fashion. The default value + is `off'. + + `completion-query-items' + The number of possible completions that determines when the + user is asked whether he wants to see the list of + possibilities. If the number of possible completions is + greater than this value, Readline will ask the user whether + or not he wishes to view them; otherwise, they are simply + listed. The default limit is `100'. + + `convert-meta' + If set to `on', Readline will convert characters with the + eighth bit set to an ASCII key sequence by stripping the + eighth bit and prefixing an character, converting them + to a meta-prefixed key sequence. The default value is `on'. + + `disable-completion' + If set to `On', Readline will inhibit word completion. + Completion characters will be inserted into the line as if + they had been mapped to `self-insert'. The default is `off'. + + `editing-mode' + The `editing-mode' variable controls which default set of key + bindings is used. By default, Readline starts up in Emacs + editing mode, where the keystrokes are most similar to Emacs. + This variable can be set to either `emacs' or `vi'. + + `enable-keypad' + When set to `on', Readline will try to enable the application + keypad when it is called. Some systems need this to enable + the arrow keys. The default is `off'. + + `expand-tilde' + If set to `on', tilde expansion is performed when Readline + attempts word completion. The default is `off'. + + `horizontal-scroll-mode' + This variable can be set to either `on' or `off'. Setting it + to `on' means that the text of the lines being edited will + scroll horizontally on a single screen line when they are + longer than the width of the screen, instead of wrapping onto + a new screen line. By default, this variable is set to `off'. + + `input-meta' + If set to `on', Readline will enable eight-bit input (it will + not strip the eighth bit from the characters it reads), + regardless of what the terminal claims it can support. The + default value is `off'. The name `meta-flag' is a synonym + for this variable. + + `isearch-terminators' + The string of characters that should terminate an incremental + search without subsequently executing the character as a + command (*note Searching::.). If this variable has not been + given a value, the characters and will terminate + an incremental search. + + `keymap' + Sets Readline's idea of the current keymap for key binding + commands. Acceptable `keymap' names are `emacs', + `emacs-standard', `emacs-meta', `emacs-ctlx', `vi', + `vi-command', and `vi-insert'. `vi' is equivalent to + `vi-command'; `emacs' is equivalent to `emacs-standard'. The + default value is `emacs'. The value of the `editing-mode' + variable also affects the default keymap. + + `mark-directories' + If set to `on', completed directory names have a slash + appended. The default is `on'. + + `mark-modified-lines' + This variable, when set to `on', causes Readline to display an + asterisk (`*') at the start of history lines which have been + modified. This variable is `off' by default. + + `output-meta' + If set to `on', Readline will display characters with the + eighth bit set directly rather than as a meta-prefixed escape + sequence. The default is `off'. + + `print-completions-horizontally' + If set to `on', Readline will display completions with matches + sorted horizontally in alphabetical order, rather than down + the screen. The default is `off'. + + `show-all-if-ambiguous' + This alters the default behavior of the completion functions. + If set to `on', words which have more than one possible + completion cause the matches to be listed immediately instead + of ringing the bell. The default value is `off'. + + `visible-stats' + If set to `on', a character denoting a file's type is + appended to the filename when listing possible completions. + The default is `off'. + +Key Bindings + The syntax for controlling key bindings in the init file is + simple. First you need to find the name of the command that you + want to change. The following sections contain tables of the + command name, the default keybinding, if any, and a short + description of what the command does. + + Once you know the name of the command, simply place the name of + the key you wish to bind the command to, a colon, and then the + name of the command on a line in the init file. The name of the + key can be expressed in different ways, depending on which is most + comfortable for you. + + KEYNAME: FUNCTION-NAME or MACRO + KEYNAME is the name of a key spelled out in English. For + example: + Control-u: universal-argument + Meta-Rubout: backward-kill-word + Control-o: "> output" + + In the above example, is bound to the function + `universal-argument', and is bound to run the macro + expressed on the right hand side (that is, to insert the text + `> output' into the line). + + "KEYSEQ": FUNCTION-NAME or MACRO + KEYSEQ differs from KEYNAME above in that strings denoting an + entire key sequence can be specified, by placing the key + sequence in double quotes. Some GNU Emacs style key escapes + can be used, as in the following example, but the special + character names are not recognized. + + "\C-u": universal-argument + "\C-x\C-r": re-read-init-file + "\e[11~": "Function Key 1" + + In the above example, is bound to the function + `universal-argument' (just as it was in the first example), + ` ' is bound to the function `re-read-init-file', + and ` <[> <1> <1> <~>' is bound to insert the text + `Function Key 1'. + + The following GNU Emacs style escape sequences are available when + specifying key sequences: + + `\C-' + control prefix + + `\M-' + meta prefix + + `\e' + an escape character + + `\\' + backslash + + `\"' + <">, a double quotation mark + + `\'' + <'>, a single quote or apostrophe + + In addition to the GNU Emacs style escape sequences, a second set + of backslash escapes is available: + + `\a' + alert (bell) + + `\b' + backspace + + `\d' + delete + + `\f' + form feed + + `\n' + newline + + `\r' + carriage return + + `\t' + horizontal tab + + `\v' + vertical tab + + `\NNN' + the character whose `ASCII' code is the octal value NNN (one + to three digits) + + `\xNNN' + the character whose `ASCII' code is the hexadecimal value NNN + (one to three digits) + + When entering the text of a macro, single or double quotes must be + used to indicate a macro definition. Unquoted text is assumed to + be a function name. In the macro body, the backslash escapes + described above are expanded. Backslash will quote any other + character in the macro text, including `"' and `''. For example, + the following binding will make `C-x \' insert a single `\' into + the line: + "\C-x\\": "\\" + + +File: rluserman.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File + +Conditional Init Constructs +--------------------------- + + Readline implements a facility similar in spirit to the conditional +compilation features of the C preprocessor which allows key bindings +and variable settings to be performed as the result of tests. There +are four parser directives used. + +`$if' + The `$if' construct allows bindings to be made based on the + editing mode, the terminal being used, or the application using + Readline. The text of the test extends to the end of the line; no + characters are required to isolate it. + + `mode' + The `mode=' form of the `$if' directive is used to test + whether Readline is in `emacs' or `vi' mode. This may be + used in conjunction with the `set keymap' command, for + instance, to set bindings in the `emacs-standard' and + `emacs-ctlx' keymaps only if Readline is starting out in + `emacs' mode. + + `term' + The `term=' form may be used to include terminal-specific key + bindings, perhaps to bind the key sequences output by the + terminal's function keys. The word on the right side of the + `=' is tested against both the full name of the terminal and + the portion of the terminal name before the first `-'. This + allows `sun' to match both `sun' and `sun-cmd', for instance. + + `application' + The APPLICATION construct is used to include + application-specific settings. Each program using the + Readline library sets the APPLICATION NAME, and you can test + for it. This could be used to bind key sequences to + functions useful for a specific program. For instance, the + following command adds a key sequence that quotes the current + or previous word in Bash: + $if Bash + # Quote the current or previous word + "\C-xq": "\eb\"\ef\"" + $endif + +`$endif' + This command, as seen in the previous example, terminates an `$if' + command. + +`$else' + Commands in this branch of the `$if' directive are executed if the + test fails. + +`$include' + This directive takes a single filename as an argument and reads + commands and bindings from that file. + $include /etc/inputrc + + +File: rluserman.info, Node: Sample Init File, Prev: Conditional Init Constructs, Up: Readline Init File + +Sample Init File +---------------- + + Here is an example of an inputrc file. This illustrates key +binding, variable assignment, and conditional syntax. + + + # This file controls the behaviour of line input editing for + # programs that use the Gnu Readline library. Existing programs + # include FTP, Bash, and Gdb. + # + # You can re-read the inputrc file with C-x C-r. + # Lines beginning with '#' are comments. + # + # First, include any systemwide bindings and variable assignments from + # /etc/Inputrc + $include /etc/Inputrc + + # + # Set various bindings for emacs mode. + + set editing-mode emacs + + $if mode=emacs + + Meta-Control-h: backward-kill-word Text after the function name is ignored + + # + # Arrow keys in keypad mode + # + #"\M-OD": backward-char + #"\M-OC": forward-char + #"\M-OA": previous-history + #"\M-OB": next-history + # + # Arrow keys in ANSI mode + # + "\M-[D": backward-char + "\M-[C": forward-char + "\M-[A": previous-history + "\M-[B": next-history + # + # Arrow keys in 8 bit keypad mode + # + #"\M-\C-OD": backward-char + #"\M-\C-OC": forward-char + #"\M-\C-OA": previous-history + #"\M-\C-OB": next-history + # + # Arrow keys in 8 bit ANSI mode + # + #"\M-\C-[D": backward-char + #"\M-\C-[C": forward-char + #"\M-\C-[A": previous-history + #"\M-\C-[B": next-history + + C-q: quoted-insert + + $endif + + # An old-style binding. This happens to be the default. + TAB: complete + + # Macros that are convenient for shell interaction + $if Bash + # edit the path + "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f" + # prepare to type a quoted word -- insert open and close double quotes + # and move to just after the open quote + "\C-x\"": "\"\"\C-b" + # insert a backslash (testing backslash escapes in sequences and macros) + "\C-x\\": "\\" + # Quote the current or previous word + "\C-xq": "\eb\"\ef\"" + # Add a binding to refresh the line, which is unbound + "\C-xr": redraw-current-line + # Edit variable on current line. + "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y=" + $endif + + # use a visible bell if one is available + set bell-style visible + + # don't strip characters to 7 bits when reading + set input-meta on + + # allow iso-latin1 characters to be inserted rather than converted to + # prefix-meta sequences + set convert-meta off + + # display characters with the eighth bit set directly rather than + # as meta-prefixed characters + set output-meta on + + # if there are more than 150 possible completions for a word, ask the + # user if he wants to see all of them + set completion-query-items 150 + + # For FTP + $if Ftp + "\C-xg": "get \M-?" + "\C-xt": "put \M-?" + "\M-.": yank-last-arg + $endif + + +File: rluserman.info, Node: Bindable Readline Commands, Next: Readline vi Mode, Prev: Readline Init File, Up: Command Line Editing + +Bindable Readline Commands +========================== + +* Menu: + +* Commands For Moving:: Moving about the line. +* Commands For History:: Getting at previous lines. +* Commands For Text:: Commands for changing text. +* Commands For Killing:: Commands for killing and yanking. +* Numeric Arguments:: Specifying numeric arguments, repeat counts. +* Commands For Completion:: Getting Readline to do the typing for you. +* Keyboard Macros:: Saving and re-executing typed characters +* Miscellaneous Commands:: Other miscellaneous commands. + + This section describes Readline commands that may be bound to key +sequences. + + Command names without an accompanying key sequence are unbound by +default. In the following descriptions, POINT refers to the current +cursor position, and MARK refers to a cursor position saved by the +`set-mark' command. The text between the point and mark is referred to +as the REGION. + + +File: rluserman.info, Node: Commands For Moving, Next: Commands For History, Up: Bindable Readline Commands + +Commands For Moving +------------------- + +`beginning-of-line (C-a)' + Move to the start of the current line. + +`end-of-line (C-e)' + Move to the end of the line. + +`forward-char (C-f)' + Move forward a character. + +`backward-char (C-b)' + Move back a character. + +`forward-word (M-f)' + Move forward to the end of the next word. Words are composed of + letters and digits. + +`backward-word (M-b)' + Move back to the start of the current or previous word. Words are + composed of letters and digits. + +`clear-screen (C-l)' + Clear the screen and redraw the current line, leaving the current + line at the top of the screen. + +`redraw-current-line ()' + Refresh the current line. By default, this is unbound. + + +File: rluserman.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands + +Commands For Manipulating The History +------------------------------------- + +`accept-line (Newline, Return)' + Accept the line regardless of where the cursor is. If this line is + non-empty, add it to the history list. If this line was a history + line, then restore the history line to its original state. + +`previous-history (C-p)' + Move `up' through the history list. + +`next-history (C-n)' + Move `down' through the history list. + +`beginning-of-history (M-<)' + Move to the first line in the history. + +`end-of-history (M->)' + Move to the end of the input history, i.e., the line currently + being entered. + +`reverse-search-history (C-r)' + Search backward starting at the current line and moving `up' + through the history as necessary. This is an incremental search. + +`forward-search-history (C-s)' + Search forward starting at the current line and moving `down' + through the the history as necessary. This is an incremental + search. + +`non-incremental-reverse-search-history (M-p)' + Search backward starting at the current line and moving `up' + through the history as necessary using a non-incremental search + for a string supplied by the user. + +`non-incremental-forward-search-history (M-n)' + Search forward starting at the current line and moving `down' + through the the history as necessary using a non-incremental search + for a string supplied by the user. + +`history-search-forward ()' + Search forward through the history for the string of characters + between the start of the current line and the point. This is a + non-incremental search. By default, this command is unbound. + +`history-search-backward ()' + Search backward through the history for the string of characters + between the start of the current line and the point. This is a + non-incremental search. By default, this command is unbound. + +`yank-nth-arg (M-C-y)' + Insert the first argument to the previous command (usually the + second word on the previous line). With an argument N, insert the + Nth word from the previous command (the words in the previous + command begin with word 0). A negative argument inserts the Nth + word from the end of the previous command. + +`yank-last-arg (M-., M-_)' + Insert last argument to the previous command (the last word of the + previous history entry). With an argument, behave exactly like + `yank-nth-arg'. Successive calls to `yank-last-arg' move back + through the history list, inserting the last argument of each line + in turn. + + +File: rluserman.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands + +Commands For Changing Text +-------------------------- + +`delete-char (C-d)' + Delete the character under the cursor. If the cursor is at the + beginning of the line, there are no characters in the line, and + the last character typed was not bound to `delete-char', then + return `EOF'. + +`backward-delete-char (Rubout)' + Delete the character behind the cursor. A numeric argument means + to kill the characters instead of deleting them. + +`forward-backward-delete-char ()' + Delete the character under the cursor, unless the cursor is at the + end of the line, in which case the character behind the cursor is + deleted. By default, this is not bound to a key. + +`quoted-insert (C-q, C-v)' + Add the next character typed to the line verbatim. This is how to + insert key sequences like , for example. + +`tab-insert (M-TAB)' + Insert a tab character. + +`self-insert (a, b, A, 1, !, ...)' + Insert yourself. + +`transpose-chars (C-t)' + Drag the character before the cursor forward over the character at + the cursor, moving the cursor forward as well. If the insertion + point is at the end of the line, then this transposes the last two + characters of the line. Negative arguments have no effect. + +`transpose-words (M-t)' + Drag the word before point past the word after point, moving point + past that word as well. + +`upcase-word (M-u)' + Uppercase the current (or following) word. With a negative + argument, uppercase the previous word, but do not move the cursor. + +`downcase-word (M-l)' + Lowercase the current (or following) word. With a negative + argument, lowercase the previous word, but do not move the cursor. + +`capitalize-word (M-c)' + Capitalize the current (or following) word. With a negative + argument, capitalize the previous word, but do not move the cursor. + + +File: rluserman.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands + +Killing And Yanking +------------------- + +`kill-line (C-k)' + Kill the text from point to the end of the line. + +`backward-kill-line (C-x Rubout)' + Kill backward to the beginning of the line. + +`unix-line-discard (C-u)' + Kill backward from the cursor to the beginning of the current line. + +`kill-whole-line ()' + Kill all characters on the current line, no matter point is. By + default, this is unbound. + +`kill-word (M-d)' + Kill from point to the end of the current word, or if between + words, to the end of the next word. Word boundaries are the same + as `forward-word'. + +`backward-kill-word (M-DEL)' + Kill the word behind point. Word boundaries are the same as + `backward-word'. + +`unix-word-rubout (C-w)' + Kill the word behind point, using white space as a word boundary. + The killed text is saved on the kill-ring. + +`delete-horizontal-space ()' + Delete all spaces and tabs around point. By default, this is + unbound. + +`kill-region ()' + Kill the text in the current region. By default, this command is + unbound. + +`copy-region-as-kill ()' + Copy the text in the region to the kill buffer, so it can be yanked + right away. By default, this command is unbound. + +`copy-backward-word ()' + Copy the word before point to the kill buffer. The word + boundaries are the same as `backward-word'. By default, this + command is unbound. + +`copy-forward-word ()' + Copy the word following point to the kill buffer. The word + boundaries are the same as `forward-word'. By default, this + command is unbound. + +`yank (C-y)' + Yank the top of the kill ring into the buffer at the current + cursor position. + +`yank-pop (M-y)' + Rotate the kill-ring, and yank the new top. You can only do this + if the prior command is yank or yank-pop. + + +File: rluserman.info, Node: Numeric Arguments, Next: Commands For Completion, Prev: Commands For Killing, Up: Bindable Readline Commands + +Specifying Numeric Arguments +---------------------------- + +`digit-argument (M-0, M-1, ... M--)' + Add this digit to the argument already accumulating, or start a new + argument. starts a negative argument. + +`universal-argument ()' + This is another way to specify an argument. If this command is + followed by one or more digits, optionally with a leading minus + sign, those digits define the argument. If the command is + followed by digits, executing `universal-argument' again ends the + numeric argument, but is otherwise ignored. As a special case, if + this command is immediately followed by a character that is + neither a digit or minus sign, the argument count for the next + command is multiplied by four. The argument count is initially + one, so executing this function the first time makes the argument + count four, a second time makes the argument count sixteen, and so + on. By default, this is not bound to a key. + + +File: rluserman.info, Node: Commands For Completion, Next: Keyboard Macros, Prev: Numeric Arguments, Up: Bindable Readline Commands + +Letting Readline Type For You +----------------------------- + +`complete (TAB)' + Attempt to do completion on the text before the cursor. This is + application-specific. Generally, if you are typing a filename + argument, you can do filename completion; if you are typing a + command, you can do command completion; if you are typing in a + symbol to GDB, you can do symbol name completion; if you are + typing in a variable to Bash, you can do variable name completion, + and so on. + +`possible-completions (M-?)' + List the possible completions of the text before the cursor. + +`insert-completions (M-*)' + Insert all completions of the text before point that would have + been generated by `possible-completions'. + +`menu-complete ()' + Similar to `complete', but replaces the word to be completed with + a single match from the list of possible completions. Repeated + execution of `menu-complete' steps through the list of possible + completions, inserting each match in turn. At the end of the list + of completions, the bell is rung and the original text is restored. + An argument of N moves N positions forward in the list of matches; + a negative argument may be used to move backward through the list. + This command is intended to be bound to `TAB', but is unbound by + default. + +`delete-char-or-list ()' + Deletes the character under the cursor if not at the beginning or + end of the line (like `delete-char'). If at the end of the line, + behaves identically to `possible-completions'. This command is + unbound by default. + + +File: rluserman.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands + +Keyboard Macros +--------------- + +`start-kbd-macro (C-x ()' + Begin saving the characters typed into the current keyboard macro. + +`end-kbd-macro (C-x ))' + Stop saving the characters typed into the current keyboard macro + and save the definition. + +`call-last-kbd-macro (C-x e)' + Re-execute the last keyboard macro defined, by making the + characters in the macro appear as if typed at the keyboard. + + +File: rluserman.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands + +Some Miscellaneous Commands +--------------------------- + +`re-read-init-file (C-x C-r)' + Read in the contents of the INPUTRC file, and incorporate any + bindings or variable assignments found there. + +`abort (C-g)' + Abort the current editing command and ring the terminal's bell + (subject to the setting of `bell-style'). + +`do-uppercase-version (M-a, M-b, M-X, ...)' + If the metafied character X is lowercase, run the command that is + bound to the corresponding uppercase character. + +`prefix-meta (ESC)' + Make the next character typed be metafied. This is for keyboards + without a meta key. Typing `ESC f' is equivalent to typing `M-f'. + +`undo (C-_, C-x C-u)' + Incremental undo, separately remembered for each line. + +`revert-line (M-r)' + Undo all changes made to this line. This is like executing the + `undo' command enough times to get back to the beginning. + +`tilde-expand (M-~)' + Perform tilde expansion on the current word. + +`set-mark (C-@)' + Set the mark to the current point. If a numeric argument is + supplied, the mark is set to that position. + +`exchange-point-and-mark (C-x C-x)' + Swap the point with the mark. The current cursor position is set + to the saved position, and the old cursor position is saved as the + mark. + +`character-search (C-])' + A character is read and point is moved to the next occurrence of + that character. A negative count searches for previous + occurrences. + +`character-search-backward (M-C-])' + A character is read and point is moved to the previous occurrence + of that character. A negative count searches for subsequent + occurrences. + +`insert-comment (M-#)' + The value of the `comment-begin' variable is inserted at the + beginning of the current line, and the line is accepted as if a + newline had been typed. + +`dump-functions ()' + Print all of the functions and their key bindings to the Readline + output stream. If a numeric argument is supplied, the output is + formatted in such a way that it can be made part of an INPUTRC + file. This command is unbound by default. + +`dump-variables ()' + Print all of the settable variables and their values to the + Readline output stream. If a numeric argument is supplied, the + output is formatted in such a way that it can be made part of an + INPUTRC file. This command is unbound by default. + +`dump-macros ()' + Print all of the Readline key sequences bound to macros and the + strings they ouput. If a numeric argument is supplied, the output + is formatted in such a way that it can be made part of an INPUTRC + file. This command is unbound by default. + + +File: rluserman.info, Node: Readline vi Mode, Prev: Bindable Readline Commands, Up: Command Line Editing + +Readline vi Mode +================ + + While the Readline library does not have a full set of `vi' editing +functions, it does contain enough to allow simple editing of the line. +The Readline `vi' mode behaves as specified in the POSIX 1003.2 +standard. + + In order to switch interactively between `emacs' and `vi' editing +modes, use the command M-C-j (toggle-editing-mode). The Readline +default is `emacs' mode. + + When you enter a line in `vi' mode, you are already placed in +`insertion' mode, as if you had typed an `i'. Pressing switches +you into `command' mode, where you can edit the text of the line with +the standard `vi' movement keys, move to previous history lines with +`k' and subsequent lines with `j', and so forth. + + + +Tag Table: +Node: Top1221 +Node: Command Line Editing1617 +Node: Introduction and Notation2231 +Node: Readline Interaction3850 +Node: Readline Bare Essentials5044 +Node: Readline Movement Commands6826 +Node: Readline Killing Commands7784 +Node: Readline Arguments9691 +Node: Searching10667 +Node: Readline Init File12511 +Node: Readline Init File Syntax13573 +Node: Conditional Init Constructs22839 +Node: Sample Init File25279 +Node: Bindable Readline Commands28450 +Node: Commands For Moving29495 +Node: Commands For History30345 +Node: Commands For Text33063 +Node: Commands For Killing35067 +Node: Numeric Arguments37035 +Node: Commands For Completion38163 +Node: Keyboard Macros39912 +Node: Miscellaneous Commands40472 +Node: Readline vi Mode43277 + +End Tag Table diff --git a/readline/doc/rluserman.ps b/readline/doc/rluserman.ps new file mode 100644 index 00000000000..4edf5787904 --- /dev/null +++ b/readline/doc/rluserman.ps @@ -0,0 +1,1897 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.82 Copyright 1998 Radical Eye Software +%%Title: rluserman.dvi +%%Pages: 22 +%%PageOrder: Ascend +%%BoundingBox: 0 0 612 792 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -D 300 -t letter -o rluserman.ps rluserman.dvi +%DVIPSParameters: dpi=300, compressed +%DVIPSSource: TeX output 2000.03.01:1453 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IE N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +TeXDict begin 40258431 52099146 1000 300 300 (rluserman.dvi) +@start +%DVIPSBitmapFont: Fa cmti10 10.95 1 +/Fa 1 47 df<127012F8A212F012E005057B840E>46 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fb cmbxti10 14.4 1 +/Fb 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fc cmmi10 10.95 1 +/Fc 1 59 df<127012F8A3127005057C840D>58 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fd cmsltt10 10.95 6 +/Fd 6 102 df<1206120FEA1F80120FA21203EA0700A25A120E123C127C12F01260090E +769B18>39 D<387FFFC0B512E0A26C13C013047C8F18>45 D67 D<3907E01F80000FEB3FC0000714803903B02E +00146EA214CE380730DC1331149CA21333141C000E5B13371336133E133C131848C65AA6 +38FE03F800FF7F00FE5B1A1C7F9B18>77 D<126012F0A37E1278A3127C123CA3123E121E +A3121F7EA313801207A313C01203A413E01201A313F0120013600C24789F18>92 +D<13F8EA07FE487E381F0780EA3C03387801C0127012E0A2B5FCA2148000E0C7FCA21303 +3870078038780F00EA3FFE6C5AEA07F012147B9318>101 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fe cmbx12 13.14 46 +/Fe 46 122 df<123C127E12FFA4127E123C08087C8711>46 D<131C133C13FC12FFA212 +00B3AA387FFFFCA216237CA21F>49 D<48B4FC000713C0381E07F0383803F8386001FC38 +7C00FE12FE14FF147FA2127C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F +00131E5B1370EBE003EA01C038038007380700061206380FFFFE5A5A4813FCB5FCA21823 +7DA21F>I<48B4FC000713E0381E03F0383801F8003C13FC387E00FEA3123EEA1C010000 +13FCA2EB03F8EB07F0EB0FC03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210 +127C12FEA214FEA2387C01FC007013F8383E07F0380FFFC00001130018237DA21F>I<14 +381478A214F81301130313071306130C131C13381330136013E0EA01C01380EA03005A12 +0E5A12185A12705AB612C0A2390001F800A790387FFFC0A21A237EA21F>I<0018130C00 +1F137CEBFFF814F014E014C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8 +000813FCC7127EA3147FA2127812FCA3147E5A006013FC1270383801F8381E07E03807FF +C03801FE0018237DA21F>II<1230123C +003FB512C0A215804814005C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA2 +5BA2133CA25BA213F8A41201A66C5A13601A257DA41F>II<141CA2143EA3147FA24A7EA39038019F +C0A29038031FE0140F01077FEB0607A2010C7F1403011C7FEB1801A2496C7EA2017FB5FC +A29039E0007F8049133FA2484880151F00038190C7120FA2486E7ED8FFF090B51280A229 +257EA42E>65 DI<9138FF8008010FEBF0 +1890393FC03C789039FE0006F8D801F81303484813014848130048481478121F48481438 +A2007F151890C8FCA2481500A97E16187F123FA26C6C1430120F6C6C14606C6C14C06C6C +EB0180D800FEEB070090383FC01E90380FFFF8010013C025257DA42C>I69 +DI72 DI75 +DIII82 +D<01FF1380000713E3380F80F7381E001F48130F481307140312F81401A27E91C7FCB4FC +EA7FE013FE383FFFE014F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200 +C01303A315C07E6C13076C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>I< +007FB612F8A2397E00FE010078EC00780070153800601518A200E0151C160C5AA4C71400 +B3A390B512FEA226247EA32B>I89 +D97 +DIII<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E +12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80 +17187E971C>II<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800 +007E7FA6003E5B6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C +13FC806C7F481480383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807 +FFF8C613C01B247E971F>II<120FEA1F80EA3FC0A4EA1F80EA0F00 +C7FCA7EA7FC0A2120FB3A2EAFFF8A20D277EA611>I107 DI<26FF80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E803F001 +A013F0A201C013E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80390F8E +0FC0139890389007E013A0A213C0AF39FFFC7FFEA21F187E9722>II<38FFC1FCEBCFFF390FFC1FC09038F007E001 +C013F0140315F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038CFFF00 +EBC3F801C0C7FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC13B013 +A01478EBE0005BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA7001EAF0 +00A300FC1300B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212E014C0 +EAF00338FC078038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F121FB5 +12C0A2380FC000AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39FFC07F +E0A2000F1307B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I<39FFF8 +0FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC00005B13FE +EB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21D187F9720>I<39FFF83FF0A2390FC00F +003807E00E6C6C5A6D5A6C6C5A00001360EB7EC06D5AA2131F6D7E497E80EB33F81361EB +E0FC3801C07E3803807F3907003F8048131F39FFC07FF8A21D187F9720>120 +D<39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC00 +005B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21306A25B1230EA781CEAFC185B +1370EA68E0EA7FC0001FC8FC1D237F9720>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Ff cmsl10 10.95 22 +/Ff 22 122 df12 +D45 D<3A07FF803FE03A00F8001F000178130C5D4913205D5D4A +C7FC1402140848485A5C146014F013E1EBE4F83803C878EBD07CEBE03CEBC03E141E141F +48487E81140781140381380F00016D487E39FFF00FFE231F7E9E23>75 +D97 D<13FEEA0383380E0780121C0038130090 +C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314>99 +D<13F8EA070EEA0E07121C383803801278127012F0A2B5FC00F0C7FC5AA46C5AEA7002EA +3004EA1C18EA07E011147D9314>101 DI<140EEB3E11EB +E1A33801C1C2380381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218 +121CEA0FFF14C014E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F80 +9417>I105 D<13E0120712011200A2485AA6485AEB81FCEB80F014 +C0EB81801400EA07045B13181338137C131C120E7FA2130F7F1480EA1C03381E07C038FF +8FF016207E9F18>107 D<13E0120712011200A2EA01C0A6EA0380A6EA0700A6120EA65A +121EEAFF800B207F9F0C>I<390387C07C391F9861863907A072073903C03403EB803800 +07EB7807EB0070A5000EEBE00EA64848485A001EEBE01E3AFFCFFCFFC022147E9326>I< +38038F80381F90E0EA07A03803C0601380000713E01300A5380E01C0A6381C0380001E13 +C038FF8FF014147E9319>I<13FCEA0387380E0180381C00C04813E0A24813F012F0A438 +E001E0A214C0130300F0138038700700EA380E6C5AEA07E014147D9317>IIIII<1380EA0100A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840 +EA0F800D1C7C9B12>I<381C0380EAFC1FEA3C07EA1C03A238380700A6EA700EA4131EA2 +5BEA305E381F9F8011147B9319>I<381FF0FF3803C0780001137014403800E0C0EBE180 +EB73001376133CA2131C132E134E1387EA0107380203801204380C01C0383C03E038FE07 +FC18147F9318>120 D<390FF83F803901E00E00EBC00C140813E000005B143014205C13 +705CA20171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8FC12 +E61278191D809318>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fg cmr8 8 41 +/Fg 41 124 df<126012F0A212701210A21220A21240A2040A7D960A>39 +D45 D<1206120E12FE120EB1EAFFE00B157D9412>49 +D<13101338A3135CA3138EA3EA0107A238020380A33807FFC0EA0401A2380800E0A20018 +13F0123838FE03FE17177F961A>65 DIIIII74 D76 D<00FEEB03F8001E14C000171305A338138009A23811C011A33810E021A2EB7041A3 +EB3881A2EB1D01A2130EA2123839FE040FF81D177F9620>I<00FC13FE001E1338001F13 +101217EA1380EA11C0A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00F0 +14701430123800FE131017177F961A>I80 D82 DI<387FFFF8386038 +1800401308A200801304A300001300AF3803FF8016177F9619>I<38FF80FE381C003814 +10B06C132012066C13403801818038007E0017177F961A>I<12FCA212C0B3AB12FCA206 +217D980A>91 D97 D<12F81238A8EA39F0EA3E0CEA380613077F1480A41400 +5B1306EA361CEA21F011177F9614>II<133E130EA8EA07CEEA1C3EEA300E1270126012 +E0A412601270EA301EEA182E3807CF8011177F9614>IIII<1203EA0780A2EA0300C7FCA5EA1F801203AF1243EAE30012E712 +7C091D82960B>106 D<12F81238A8133E13381330134013801239EA3FC0EA39E0123813 +F01378133CA2EAFE7F10177F9613>I<12F81238B3A312FE07177F960A>I110 DIIIII<1208A31218A21238EAFFC0 +EA3800A71340A4EA1C80EA0F000A147F930E>II<38FEFE7C383838381410133C001C1320134C381E4E60380ECE40138700 +0713801303A200031300EA0201160E7F8D19>119 DII123 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fh cmsy9 9 2 +/Fh 2 106 df<13801201EA0300A31206A25AA35AA35AA25AA35AA21260A37EA27EA37E +A37EA27EA3EA0180120009267D9B0F>104 D<12C0A21260A37EA27EA37EA37EA27EA3EA +0180A2EA0300A31206A25AA35AA35AA25AA35AA209267E9B0F>I +E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fi cmcsc10 10.95 8 +/Fi 8 118 df73 D79 DI<3803F02038 +0C0C60381803E0EA30005A146012E01420A36C13007E127CEA7F80EA3FFC6CB4FC000713 +80000113C038000FE013031301EB00F014707EA46C136014E06C13C038F8018038C60300 +EA81FC14217C9F1C>83 D<397FF807FE390FE001F0D807C013C06C6C6C5A000149C7FCEB +F0023800F806EB78046D5AEB3E18EB1F106D5A14C0130713036D7E497EEB06F8EB0478EB +087CEB183EEB101EEB201F496C7EEBC007496C7ED801007F486D7E481300391F8001F83A +FFC007FF80211F7E9E25>88 D103 D<38FC01FC381E007014201217EA1380A2EA11C0EA10E0A213701338A2131C +130E1307A2EB03A0EB01E0A213001460123800FE132016177E961C>110 +D<38FF81FC381C00701420B0000C1340120E6C138038018300EA007C16177E961C>117 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fj cmbx12 17.28 18 +/Fj 18 117 df49 D<913A03FF800180023FEBF00349B5EAFC0701079038003F0FD91FF8EB +079FD93FC0EB01FFD9FF807F4848C8127F4848153F0007161F49150F485A001F1607A248 +5A1703127FA24992C7FCA212FFA9127FA27FEF0380123FA26C7E1707000F17006C7E6D15 +0E0003161E6C6C151C6C6C6C1478D93FC05CD91FF8EB03E0D907FFEB3F800101D9FFFEC7 +FCD9003F13F80203138031317CB03A>67 D69 +D76 D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780 +A3481603A5C792C7FCB3AA017FB6FCA331307DAF38>84 D97 DI100 DII<90 +391FF007C09039FFFE3FE03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF0 +00A2003F80A5001F5CA2000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC +121EA2121F7F90B57E6C14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C +140F00FC1407A4007EEC0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0 +D8001F90C7FC242F7E9F28>I105 D108 D<2703F007F8EB1FE000FFD93FFEEBFFF8913A783F01E0FC02C09038 +8300FE280FF1801FC6137F2607F30013CC01F602F8148001FC5CA3495CB3B500C3B5380F +FFFCA33E207D9F43>I<3903F007F800FFEB3FFEEC783F02C013803A0FF1801FC03807F3 +0001F614E013FCA35BB3B500C3B5FCA328207D9F2D>II<3801FF86000713FEEA1F00003C133E48131E140E12F8A36C90 +C7FCB47E13FC387FFFC06C13F0806C7F00077F00017FEA003F01001380143F0060131F00 +E0130FA27E15007E6C131E6C131C38FF807838F3FFF038C07F8019207D9F20>115 +D<131CA5133CA3137CA213FC120112031207381FFFFEB5FCA2D803FCC7FCB0EC0380A712 +01EC0700EA00FEEB7F0EEB3FFCEB07F0192E7FAD1F>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fk cmsy10 10.95 1 +/Fk 1 14 df<14FF010713E090381F00F80178131E01E01307D80180EB018048C812C000 +061560481530A248151848150CA2481506A4481503A900601506A46C150CA26C15186C15 +30A26C15606C15C06C6CEB0180D800E0EB07000178131E011F13F8903807FFE0010090C7 +FC282B7EA02D>13 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fl cmbx12 14.4 39 +/Fl 39 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 +0E5A5A12100A157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46 +D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49 +DII<140FA25C5C5C5C5BA2EB03 +BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8 +A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091 +C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218 +127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6 +22>I66 +D<91387FE003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F484814 +7F4848143F4848141F485A160F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E +6C7E6C6C141C6C6C143C6C6C14786CB4EB01F090397FF007C0011FB512800107EBFE0090 +38007FF028297CA831>I69 DI73 +D76 DI82 +D<9038FF80600003EBF0E0000F13F8381F80FD383F001F003E1307481303A200FC1301A2 +14007EA26C140013C0EA7FFCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB +007FEC1FF0140F140700E01303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE00 +00E15B38C01FF01C297CA825>I85 D87 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4 +EB3FFF3801FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F38 +03FC031E1B7E9A21>97 DIIIII<90 +38FF80F00003EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E13 +3E003F137E6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14 +C06C14E06C14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC0 +1F806CB5120038007FF01E287E9A22>II<1207EA0F80EA +1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12> +I108 D<26FFC07FEB1FC0903AC1FFC07FF0 +903AC307E0C1F8D80FC49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFF +FE3FFF8FFFE0A3331B7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC807 +01D813F013D0A213E0B039FFFE3FFFA3201B7D9A25>II<38FFC1F0EBC7FC +EBC63E380FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 +D<3803FE30380FFFF0EA3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C +13E06C13F0000713F8C6FCEB07FC130000E0137C143C7E14387E6C137038FF01E038E7FF +C000C11300161B7E9A1B>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000 +AD1470A73807F0E0000313C03801FF8038007F0014267FA51A>I<39FFE07FF0A3000F13 +07B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA339 +0FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA214 +9EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE0 +0FE001C02607F007EB0380A201F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600 +FE1C5B15FE9039FF387E3C017F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2 +EC800701075CA22E1B7F9A31>I<39FFFC1FFEA33907F003803803F8079038FC0F003801 +FE1E00005BEB7F3814F86D5A6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F +803901E01FC0D803C013E0EB800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF0 +00F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB +3F9C14FC6D5AA26D5AA36D5AA26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5B +EA74F0EA3FE0EA0F8020277F9A23>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fm cmtt10 10.95 77 +/Fm 77 127 df<127012F8B012701200A5127012F8A31270051C779B18>33 +DI +I<13C01201A3EA03F0EA0FFCEA3FFEEA7DCFEA71C738E1C38013C7A338F1C0001279123F +6C7EEA0FF8EA01FC13DE13CF13C73861C38012F1A212E1EBC7001271EA79DEEA3FFEEA1F +F8EA07E0EA01C0A3120011247D9F18>I<1238127CA2127E123E120EA3121CA2123812F8 +12F012C0070E789B18>39 D<137013F0EA01E0EA03C0EA0780EA0F00121E121C5AA25AA4 +5AA81270A47EA27E121E7EEA0780EA03C0EA01F0120013700C24799F18>I<126012F012 +787E7E7EEA07801203EA01C0A2EA00E0A41370A813E0A4EA01C0A2EA03801207EA0F0012 +1E5A5A5A12600C247C9F18>II<121C123E127E +127F123F121F1207120E121E127C12F81260080C788518>44 D<387FFFC0B512E0A26C13 +C013047E8F18>I<1230127812FCA2127812300606778518>I<1303EB0780A2130F14005B +131EA2133E133C137C1378A213F85B12015B12035BA212075B120F90C7FCA25A121E123E +123CA2127C127812F85AA2126011247D9F18>III<383FFF80A30038C7FCA8EA3BF8EA3FFE7F383C +0780383003C0EA0001EB00E0A2126012F0A238E001C0EA7003387C0F80383FFF00EA1FFC +EA03F0131C7E9B18>53 D<12E0B512E0A214C038E00380EB0700C65A131E131C5BA25B13 +F05BA2485AA3485AA448C7FCA7131D7E9C18>55 DI<1230127812 +FCA2127812301200A81230127812FCA2127812300614779318>58 +D<14C0EB03E01307EB1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FCA2127F6C +7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E01303EB00C013187E9918>60 +D<387FFFC0B512E0A26C13C0C8FCA4387FFFC0B512E0A26C13C0130C7E9318>I<126012 +F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2EB1FC0EB3F80EBFE0048 +5AEA07F0485AEA3F8048C7FC12FC5A126013187E9918>II<137CEA01FEEA07FF380F8780381E03C0EA3C1DEA387F3870FFE0EA71E313C1 +12E1EAE380A638E1C1C0127113E33870FF8038387F00EA3C1C381E00E0EA0F833807FFC0 +0001138038007E00131C7E9B18>I<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707 +A5380FFF80A3EA0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>III +III<3801F1C0EA03FDEA0FFFEA1F0FEA1C03123813011270A290C7FC5AA5 +EB0FF0131F130F387001C0A213031238A2EA1C07EA1F0FEA0FFFEA03FDEA01F1141C7E9B +18>I<387F07F038FF8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8 +387F07F0151C7F9B18>II<387F07F038FF87F8387F07F0381C03C0EB07801400130E131E5B13385B13F0 +121DA2EA1FB8A2131C121EEA1C0EA27FA2EB0380A2EB01C0387F03F038FF87F8387F03F0 +151C7F9B18>75 DI<38FC01F8EAFE +03A2383B06E0A4138EA2EA398CA213DCA3EA38D8A213F81370A21300A638FE03F8A3151C +7F9B18>I<387E07F038FF0FF8387F07F0381D81C0A313C1121CA213E1A313611371A213 +311339A31319A2131D130DA3EA7F07EAFF87EA7F03151C7F9B18>IIIII<3803F1C0EA1FFF5AEA7C0FEA7003EAE001A390C7FC12701278123FEA1FF0EA07FE +C67EEB0F80EB03C01301EB00E0A2126012E0130100F013C038F80780B5FCEBFE00EAE7F8 +131C7E9B18>I<387FFFF8B5FCA238E07038A400001300B2EA07FFA3151C7F9B18>I<38FF +83FEA3381C0070B36C13E0EA0F01380783C03803FF806C1300EA007C171C809B18>I<38 +FE03F8EAFF07EAFE03381C01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3 +EA00F8A21370A9EA01FC487E6C5A151C7F9B18>89 D91 D<126012F0A27E1278127C123CA2123E121E121F7EA27F12077F1203A27F +12017F12007F1378A2137C133C133E131EA2131F7F14801307A2EB030011247D9F18>I< +EAFFF8A3EA0038B3ACEAFFF8A30D247F9F18>I<387FFFC0B512E0A26C13C013047E7F18> +95 D97 D<127E12FE127E120EA5133EEB +FF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2EB80E013C1EBFFC0000E1380 +38063E00151C809B18>IIIII<3801E1F03807FFF85A381E1E30381C0E00487EA5EA1C0EEA1E1EEA +1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F038700070481338A4007813F0 +EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12FE127E120EA5133EEBFF8000 +0F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC171C809B18>II<1338137CA31338 +1300A4EA0FFCA3EA001CB3A4EA6038EAF078EAFFF0EA7FE0EA3F800E277E9C18>I<127E +12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA0E0F7FEB03 +8014C0387FC7F812FF127F151C7F9B18>II< +38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E17148093 +18>IIII<3801F380EA07FBEA1FFFEA3E1FEA38 +0FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3EA0003A7EB1FF0EB +3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0005BA290C7FC +A9EAFFFC7F5B14147E9318>II<48 +7E1203A4387FFFC0B5FCA238038000A9144014E0A33801C1C013FF6C1380EB3E0013197F +9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F033807FFFC6C13FE3801FCFC1714 +809318>I<387F8FF000FF13F8007F13F0381C01C0380E0380A338070700A3138FEA038E +A3EA01DCA3EA00F8A2137015147F9318>I<38FF07F8138F1307383800E0A4381C01C013 +7113F9A213D9EA1DDD000D1380A3138DEA0F8FA23807070015147F9318>I<387F8FF013 +9F138F380F0700EA078EEA039EEA01DC13F81200137013F07FEA01DCEA039E138EEA0707 +000E1380387F8FF000FF13F8007F13F015147F9318>I<387F8FF000FF13F8007F13F038 +0E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA213CC120013DC1378A31370A313 +F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<383FFFF05AA2387001E0EB03C0EB +078038000F00131E5B13F8485AEA03C0485A380F0070121E5A5AB512F0A314147F9318> +II<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005B +ABEA03C012FF90C7FC127C13247E9F18>125 DI E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fn cmr10 10.95 72 +/Fn 72 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 +B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 +A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>I<127012F812FCA212741204A312 +08A21210A212201240060E7C9F0D>39 D<13401380EA01005A12061204120C5AA2123812 +30A212701260A412E0AC1260A412701230A212381218A27E120412067E7EEA008013400A +2E7BA112>I<7E12407E12307E1208120C7EA212077EA213801201A413C0AC1380A41203 +1300A25A1206A25A120812185A12205A5A0A2E7EA112>I<127012F012F8A212781208A3 +1210A31220A21240050E7C840D>44 DI<127012F8A312700505 +7C840D>I48 D<13801203120F12F31203B3A6 +EA07C0EAFFFE0F1E7C9D17>III<1306A2130EA2131E132EA2134E138EA2 +EA010E1202A212041208A212101220A2124012C0B512F038000E00A7EBFFE0141E7F9D17 +>II<137C +EA0182EA0701380E0380EA0C0712183838030090C7FC12781270A2EAF1F0EAF21CEAF406 +EAF807EB0380A200F013C0A51270A214801238EB07001218EA0C0E6C5AEA01F0121F7E9D +17>I<1240387FFFE014C0A23840008038800100A21302485AA25B5BA25BA21360A213E0 +5B1201A41203A76C5A131F7E9D17>III<127012F8A3 +12701200AA127012F8A3127005147C930D>I<127012F8A312701200AA127012F012F8A2 +12781208A31210A31220A21240051D7C930D>I<5B497EA3497EA3EB09E0A3EB10F0A3EB +2078A3497EA2EBC03EEB801EA248B5FCEB000FA20002EB0780A348EB03C0A2120C001E14 +E039FF801FFE1F207F9F22>65 DI<90380FE0109038381C309038E002703803C00139078000F048C71270121E15305A +1510127C127800F81400A91278007C1410123CA26C1420A27E6C6C13406C6C13803900E0 +0300EB380CEB0FF01C217E9F21>IIII<90380FE0109038381C309038E002703803C00139078000F048C7127012 +1E15305A1510127C127800F81400A7EC3FFEEC01F000781300127C123CA27EA27E6C7E39 +03C001703900E002309038380C1090380FF0001F217E9F24>I<39FFF07FF8390F000780 +AD90B5FCEB0007AF39FFF07FF81D1F7E9E22>I +I<3807FFC038003E00131EB3A3122012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F +9E17>I<39FFF007FC390F0003E0EC0180150014025C5C5C5C5C5C49C7FC5B497E130FEB +13C0EB21E01341EB80F0EB0078A28080A280EC0780A2EC03C015E015F039FFF01FFE1F1F +7E9E23>IIIIII82 +D<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF8 +6CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F80180 +38C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C014 +3000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC00 +80B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003 +FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213 +F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF0 +7FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C00003 +5DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C14 +4090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<39 +FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB7C06 +EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>89 +D<12FFA212C0B3B3A512FFA2082D7CA10D>91 D<12FFA21203B3B3A512FFA2082D80A10D +>93 D<120812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 +DI<121C12FC121CAA137CEA1D87381E0180EB00 +C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F +19>IIII<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE0 +1020809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA +33E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C +13C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A2 +121CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F +7F9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA +6180EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013 +E0EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12 +FC121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D039038391E01E01CA2 +001C13C0AE3AFF8FF8FF8021147E9326>IIII<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A612 +7012781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>III<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C +7F9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83 +F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370 +A3132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D8 +0704138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E14 +7F9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F01370 +137813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318> +I<38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00 +E8A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>II E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fo cmbx12 20.736 19 +/Fo 19 122 df71 D73 +D76 D78 D82 +D85 D97 D<13FE12FFA412071203B04AB4 +FC021F13F0027F13FC9138FC03FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF0 +17F8A2EE07FCA317FEA917FCA3160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EB +FF009039F0FC07FE91387FFFF8D9E01F13E09026C003FEC7FC2F3C7DBB36>I<903801FF +F0010F13FE013FEBFF809039FF801FC03901FE003F4848EB7FE0485A485A121F4848EB3F +C0ED1F80007FEC0F004990C7FCA212FFAA127F7FA2123F6D14F0121F6C6CEB01E012076C +6CEB03C06CB4EB0F806C9038C03F0090383FFFFE010F13F8010113C024267DA52B>II<49B47E01 +0F13F0017F13FC9038FF81FE3A03FE007F80D807F8133F4848EB1FC0ED0FE0485A003F15 +F01507485A16F8A212FFA290B6FCA301C0C8FCA4127FA36C7E1678121F7F000F15F06C6C +13016C6CEB03E06C6CEB0FC03A00FFC07F8090393FFFFE00010F13F8010013C025267DA5 +2C>II< +EA01E0EA07F8487EA2487EA46C5AA26C5AEA01E0C8FCAB13FE127FA412071203B3AAB512 +F0A4143D7DBC1A>105 D<13FE12FFA412071203B3B3AEB512F8A4153C7DBB1A>108 +D110 +D<3901FC03F000FFEB0FFC4AB4FC91383C3F80EC707F00079038E0FFC000035BEBFD80A2 +01FFEB7F809138003F00151E92C7FC5BB3A3B512FCA422267DA528>114 +D<90383FF0383903FFFE7848EBFFF8381FC00F383F0003003E13005A157812FCA27E6C14 +0013C013FC387FFFF06C13FEECFF806C14C06C14E0000314F0C614F8011F13FCEB007FEC +07FE0070130100F01300157E7EA27E157C6C14FC6C14F890388001F09038F00FE000F9B5 +12C0D8F07F130038C01FF81F267DA526>I<130FA55BA45BA25BA25B5A5A5A001FEBFFF0 +B6FCA3000190C7FCB3153CA86C14781480017F13F090383FC1E090381FFFC06D13809038 +01FE001E377EB626>I121 D E +%EndDVIPSBitmapFont +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 300dpi +TeXDict begin +%%BeginPaperSize: Letter +letter +%%EndPaperSize + +%%EndSetup +%%Page: 1 1 +1 0 bop 75 693 a Fo(GNU)33 b(Readline)h(Library)e(User)h(In)m(terface)p +75 743 1800 17 v 936 791 a Fn(Edition)17 b(4.1,)c(for)i +Fm(Readline)f(Library)g Fn(V)l(ersion)i(4.1.)1609 845 +y(Jan)o(uary)f(2000)75 2467 y Fl(Brian)23 b(F)-6 b(o)n(x,)23 +b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6 b(oundation)75 +2534 y(Chet)22 b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23 +b(Reserv)n(e)f(Univ)n(ersit)n(y)p 75 2570 1800 9 v eop +%%Page: 2 2 +2 1 bop 75 250 a Fn(This)22 b(do)q(cumen)o(t)f(describ)q(es)i(the)f +(end)f(user)h(in)o(terface)f(of)g(the)g(GNU)g(Readline)j(Library)l(,)f +(a)e(utilit)o(y)75 305 y(whic)o(h)14 b(aids)f(in)g(the)g(consistency)h +(of)e(user)h(in)o(terface)g(across)f(discrete)h(programs)f(that)g(need) +h(to)f(pro)o(vide)75 360 y(a)j(command)g(line)i(in)o(terface.)75 +427 y(Published)g(b)o(y)f(the)f(F)l(ree)g(Soft)o(w)o(are)f(F)l +(oundation)75 482 y(59)h(T)l(emple)h(Place,)f(Suite)i(330,)75 +537 y(Boston,)d(MA)h(02111)f(USA)75 604 y(P)o(ermission)j(is)f(gran)o +(ted)g(to)f(mak)o(e)h(and)g(distribute)i(v)o(erbatim)d(copies)i(of)f +(this)h(man)o(ual)f(pro)o(vided)h(the)75 659 y(cop)o(yrigh)o(t)e +(notice)h(and)f(this)h(p)q(ermission)g(notice)g(are)f(preserv)o(ed)h +(on)f(all)h(copies.)75 726 y(P)o(ermission)c(is)h(gran)o(ted)e(to)g +(cop)o(y)h(and)g(distribute)h(mo)q(di\014ed)g(v)o(ersions)f(of)f(this)h +(man)o(ual)g(under)h(the)f(con-)75 781 y(ditions)k(for)e(v)o(erbatim)h +(cop)o(ying,)g(pro)o(vided)h(that)e(the)h(en)o(tire)h(resulting)g +(deriv)o(ed)g(w)o(ork)e(is)h(distributed)75 836 y(under)h(the)f(terms)g +(of)g(a)f(p)q(ermission)j(notice)f(iden)o(tical)h(to)e(this)g(one.)75 +903 y(P)o(ermission)i(is)g(gran)o(ted)f(to)g(cop)o(y)h(and)f +(distribute)i(translations)f(of)f(this)h(man)o(ual)g(in)o(to)f(another) +g(lan-)75 958 y(guage,)e(under)h(the)f(ab)q(o)o(v)o(e)g(conditions)i +(for)d(mo)q(di\014ed)j(v)o(ersions,)e(except)h(that)f(this)h(p)q +(ermission)g(notice)75 1013 y(ma)o(y)f(b)q(e)i(stated)f(in)h(a)f +(translation)g(appro)o(v)o(ed)g(b)o(y)g(the)g(F)l(ree)h(Soft)o(w)o(are) +d(F)l(oundation.)75 2661 y(Cop)o(yrigh)o(t)301 2660 y(c)289 +2661 y Fk(\015)i Fn(1988-1999)e(F)l(ree)i(Soft)o(w)o(are)f(F)l +(oundation,)h(Inc.)p eop +%%Page: 1 3 +1 2 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 +b(1)75 183 y Fj(1)41 b(Command)28 b(Line)e(Editing)137 +299 y Fn(This)16 b(c)o(hapter)f(describ)q(es)i(the)e(basic)h(features)f +(of)g(the)g Fi(gnu)g Fn(command)g(line)i(editing)f(in)o(terface.)75 +426 y Fl(1.1)33 b(In)n(tro)r(duction)24 b(to)e(Line)i(Editing)137 +522 y Fn(The)16 b(follo)o(wing)g(paragraphs)e(describ)q(e)j(the)e +(notation)g(used)h(to)e(represen)o(t)i(k)o(eystrok)o(es.)137 +589 y(The)h(text)327 587 y Fh(h)p 339 561 56 2 v 339 +589 a Fg(C-k)p 339 597 V 393 587 a Fh(i)424 589 y Fn(is)f(read)g(as)g +(`Con)o(trol-K')f(and)h(describ)q(es)i(the)e(c)o(haracter)g(pro)q +(duced)h(when)f(the)1831 587 y Fh(h)p 1844 561 19 2 v +1844 589 a Fg(k)p 1844 597 V 1860 587 a Fh(i)75 644 y +Fn(k)o(ey)f(is)h(pressed)g(while)g(the)f(Con)o(trol)g(k)o(ey)g(is)h +(depressed.)137 711 y(The)f(text)325 709 y Fh(h)p 337 +683 63 2 v 337 711 a Fg(M-k)p 337 719 V 397 709 a Fh(i)427 +711 y Fn(is)g(read)g(as)f(`Meta-K')g(and)h(describ)q(es)i(the)e(c)o +(haracter)f(pro)q(duced)i(when)f(the)g(Meta)75 766 y(k)o(ey)f(\(if)g(y) +o(ou)g(ha)o(v)o(e)g(one\))g(is)h(depressed,)g(and)f(the)930 +764 y Fh(h)p 942 738 19 2 v 942 766 a Fg(k)p 942 774 +V 958 764 a Fh(i)987 766 y Fn(k)o(ey)g(is)h(pressed.)20 +b(The)15 b(Meta)e(k)o(ey)h(is)h(lab)q(eled)1779 764 y +Fh(h)p 1791 738 72 2 v 1791 766 a Fg(AL)m(T)p 1791 774 +V 1860 764 a Fh(i)75 821 y Fn(on)e(man)o(y)g(k)o(eyb)q(oards.)19 +b(On)13 b(k)o(eyb)q(oards)g(with)h(t)o(w)o(o)e(k)o(eys)g(lab)q(eled) +1213 819 y Fh(h)p 1225 793 V 1225 821 a Fg(AL)m(T)p 1225 +828 V 1294 819 a Fh(i)1322 821 y Fn(\(usually)i(to)e(either)i(side)g +(of)f(the)75 876 y(space)j(bar\),)f(the)388 874 y Fh(h)p +400 847 V 400 876 a Fg(AL)m(T)p 400 883 V 469 874 a Fh(i)499 +876 y Fn(on)h(the)g(left)g(side)g(is)g(generally)h(set)f(to)f(w)o(ork)g +(as)g(a)g(Meta)g(k)o(ey)l(.)22 b(The)1697 874 y Fh(h)p +1709 847 V 1709 876 a Fg(AL)m(T)p 1709 883 V 1778 874 +a Fh(i)1808 876 y Fn(k)o(ey)75 930 y(on)17 b(the)f(righ)o(t)h(ma)o(y)f +(also)h(b)q(e)g(con\014gured)g(to)f(w)o(ork)g(as)g(a)h(Meta)f(k)o(ey)g +(or)g(ma)o(y)g(b)q(e)i(con\014gured)f(as)f(some)75 985 +y(other)f(mo)q(di\014er,)h(suc)o(h)f(as)g(a)g(Comp)q(ose)g(k)o(ey)g +(for)f(t)o(yping)i(accen)o(ted)f(c)o(haracters.)137 1052 +y(If)c(y)o(ou)g(do)g(not)f(ha)o(v)o(e)h(a)f(Meta)h(or)694 +1050 y Fh(h)p 706 1024 V 706 1052 a Fg(AL)m(T)p 706 1060 +V 775 1050 a Fh(i)801 1052 y Fn(k)o(ey)l(,)g(or)g(another)f(k)o(ey)h(w) +o(orking)f(as)h(a)f(Meta)h(k)o(ey)l(,)g(the)g(iden)o(tical)75 +1107 y(k)o(eystrok)o(e)f(can)i(b)q(e)f(generated)h(b)o(y)f(t)o(yping) +809 1105 y Fh(h)p 821 1079 70 2 v 821 1107 a Fg(ESC)p +821 1115 V 888 1105 a Fh(i)915 1107 y Ff(\014rst)p Fn(,)g(and)g(then)h +(t)o(yping)1339 1105 y Fh(h)p 1351 1079 19 2 v 1351 1107 +a Fg(k)p 1351 1115 V 1368 1105 a Fh(i)1383 1107 y Fn(.)18 +b(Either)12 b(pro)q(cess)f(is)h(kno)o(wn)75 1162 y(as)j +Ff(metafying)k Fn(the)425 1160 y Fh(h)p 437 1134 V 437 +1162 a Fg(k)p 437 1169 V 454 1160 a Fh(i)484 1162 y Fn(k)o(ey)l(.)137 +1229 y(The)h(text)334 1227 y Fh(h)p 347 1201 100 2 v +347 1229 a Fg(M-C-k)p 347 1236 V 444 1227 a Fh(i)479 +1229 y Fn(is)g(read)g(as)f(`Meta-Con)o(trol-k')f(and)i(describ)q(es)h +(the)f(c)o(haracter)f(pro)q(duced)i(b)o(y)75 1283 y Ff(metafying)291 +1281 y Fh(h)p 303 1255 56 2 v 303 1283 a Fg(C-k)p 303 +1291 V 357 1281 a Fh(i)372 1283 y Fn(.)137 1350 y(In)e(addition,)h(sev) +o(eral)f(k)o(eys)f(ha)o(v)o(e)g(their)h(o)o(wn)f(names.)30 +b(Sp)q(eci\014cally)l(,)1384 1348 y Fh(h)p 1396 1322 +73 2 v 1396 1350 a Fg(DEL)p 1396 1358 V 1467 1348 a Fh(i)1482 +1350 y Fn(,)1514 1348 y Fh(h)p 1526 1322 70 2 v 1526 +1350 a Fg(ESC)p 1526 1358 V 1593 1348 a Fh(i)1608 1350 +y Fn(,)1640 1348 y Fh(h)p 1652 1322 72 2 v 1652 1350 +a Fg(LFD)p 1652 1358 V 1722 1348 a Fh(i)1737 1350 y Fn(,)1768 +1348 y Fh(h)p 1780 1322 70 2 v 1780 1350 a Fg(SPC)p 1780 +1358 V 1847 1348 a Fh(i)1862 1350 y Fn(,)75 1403 y Fh(h)p +87 1377 76 2 v 87 1405 a Fg(RET)p 87 1413 V 160 1403 +a Fh(i)175 1405 y Fn(,)23 b(and)306 1403 y Fh(h)p 318 +1377 74 2 v 318 1405 a Fg(T)m(AB)p 318 1413 V 390 1403 +a Fh(i)427 1405 y Fn(all)f(stand)g(for)f(themselv)o(es)h(when)h(seen)f +(in)g(this)g(text,)h(or)e(in)i(an)e(init)i(\014le)g(\(see)75 +1460 y(Section)d(1.3)f([Readline)i(Init)f(File],)h(page)e(4\).)32 +b(If)19 b(y)o(our)g(k)o(eyb)q(oard)h(lac)o(ks)f(a)1444 +1458 y Fh(h)p 1456 1432 72 2 v 1456 1460 a Fg(LFD)p 1456 +1468 V 1526 1458 a Fh(i)1560 1460 y Fn(k)o(ey)l(,)h(t)o(yping)1802 +1458 y Fh(h)p 1814 1432 49 2 v 1814 1460 a Fg(C-j)p 1814 +1468 V 1860 1458 a Fh(i)75 1515 y Fn(will)c(pro)q(duce)g(the)f(desired) +h(c)o(haracter.)j(The)874 1513 y Fh(h)p 886 1487 76 2 +v 886 1515 a Fg(RET)p 886 1522 V 959 1513 a Fh(i)989 +1515 y Fn(k)o(ey)c(ma)o(y)f(b)q(e)h(lab)q(eled)1385 1513 +y Fh(h)p 1397 1487 109 2 v 1397 1515 a Fg(Return)p 1397 +1522 V 1503 1513 a Fh(i)1533 1515 y Fn(or)1588 1513 y +Fh(h)p 1600 1487 86 2 v 1600 1515 a Fg(En)o(ter)p 1600 +1522 V 1684 1513 a Fh(i)1714 1515 y Fn(on)f(some)75 1569 +y(k)o(eyb)q(oards.)75 1697 y Fl(1.2)33 b(Readline)23 +b(In)n(teraction)137 1793 y Fn(Often)13 b(during)h(an)e(in)o(teractiv)o +(e)h(session)g(y)o(ou)g(t)o(yp)q(e)f(in)i(a)e(long)h(line)h(of)e(text,) +h(only)g(to)f(notice)h(that)f(the)75 1848 y(\014rst)k(w)o(ord)f(on)h +(the)h(line)h(is)e(missp)q(elled.)26 b(The)16 b(Readline)j(library)e +(giv)o(es)f(y)o(ou)g(a)g(set)g(of)g(commands)g(for)75 +1903 y(manipulating)g(the)f(text)g(as)f(y)o(ou)h(t)o(yp)q(e)g(it)g(in,) +g(allo)o(wing)h(y)o(ou)f(to)f(just)h(\014x)g(y)o(our)f(t)o(yp)q(o,)g +(and)h(not)g(forcing)75 1958 y(y)o(ou)f(to)f(ret)o(yp)q(e)h(the)g(ma)s +(jorit)o(y)f(of)h(the)g(line.)21 b(Using)15 b(these)f(editing)h +(commands,)f(y)o(ou)g(mo)o(v)o(e)f(the)h(cursor)75 2012 +y(to)i(the)i(place)g(that)e(needs)i(correction,)g(and)f(delete)h(or)f +(insert)g(the)h(text)e(of)h(the)g(corrections.)26 b(Then,)75 +2067 y(when)16 b(y)o(ou)f(are)h(satis\014ed)g(with)g(the)f(line,)i(y)o +(ou)e(simply)i(press)1160 2065 y Fh(h)p 1172 2039 155 +2 v 1172 2067 a Fg(RETURN)p 1172 2075 V 1324 2065 a Fh(i)1339 +2067 y Fn(.)k(Y)l(ou)16 b(do)f(not)g(ha)o(v)o(e)g(to)g(b)q(e)i(at)75 +2122 y(the)g(end)g(of)f(the)g(line)i(to)e(press)634 2120 +y Fh(h)p 646 2094 V 646 2122 a Fg(RETURN)p 646 2130 V +798 2120 a Fh(i)813 2122 y Fn(;)g(the)h(en)o(tire)g(line)h(is)f +(accepted)g(regardless)g(of)f(the)g(lo)q(cation)75 2177 +y(of)f(the)g(cursor)g(within)h(the)g(line.)75 2288 y +Fe(1.2.1)30 b(Readline)20 b(Bare)g(Essen)n(tials)137 +2384 y Fn(In)12 b(order)g(to)f(en)o(ter)g(c)o(haracters)g(in)o(to)g +(the)h(line,)h(simply)g(t)o(yp)q(e)f(them.)18 b(The)12 +b(t)o(yp)q(ed)g(c)o(haracter)f(app)q(ears)75 2439 y(where)16 +b(the)h(cursor)f(w)o(as,)f(and)h(then)h(the)f(cursor)g(mo)o(v)o(es)g +(one)g(space)g(to)g(the)g(righ)o(t.)23 b(If)17 b(y)o(ou)f(mist)o(yp)q +(e)g(a)75 2493 y(c)o(haracter,)e(y)o(ou)h(can)g(use)h(y)o(our)f(erase)g +(c)o(haracter)f(to)h(bac)o(k)g(up)g(and)h(delete)g(the)f(mist)o(yp)q +(ed)h(c)o(haracter.)137 2560 y(Sometimes)g(y)o(ou)f(ma)o(y)g(mist)o(yp) +q(e)h(a)f(c)o(haracter,)f(and)i(not)f(notice)h(the)f(error)g(un)o(til)i +(y)o(ou)e(ha)o(v)o(e)g(t)o(yp)q(ed)75 2615 y(sev)o(eral)f(other)f(c)o +(haracters.)19 b(In)14 b(that)g(case,)f(y)o(ou)h(can)g(t)o(yp)q(e)1102 +2613 y Fh(h)p 1114 2587 57 2 v 1114 2615 a Fg(C-b)p 1114 +2623 V 1168 2613 a Fh(i)1197 2615 y Fn(to)f(mo)o(v)o(e)g(the)h(cursor)g +(to)f(the)h(left,)g(and)75 2670 y(then)i(correct)e(y)o(our)h(mistak)o +(e.)20 b(Afterw)o(ards,)13 b(y)o(ou)i(can)g(mo)o(v)o(e)g(the)g(cursor)g +(to)g(the)g(righ)o(t)g(with)1714 2668 y Fh(h)p 1727 2642 +49 2 v 1727 2670 a Fg(C-f)p 1727 2678 V 1772 2668 a Fh(i)1787 +2670 y Fn(.)p eop +%%Page: 2 4 +2 3 bop 75 -58 a Fn(2)1322 b(GNU)15 b(Readline)i(Library)137 +183 y(When)g(y)o(ou)f(add)g(text)g(in)h(the)g(middle)h(of)e(a)f(line,)j +(y)o(ou)e(will)i(notice)f(that)f(c)o(haracters)f(to)h(the)g(righ)o(t)75 +238 y(of)e(the)g(cursor)g(are)g(`pushed)h(o)o(v)o(er')f(to)f(mak)o(e)h +(ro)q(om)g(for)f(the)i(text)f(that)f(y)o(ou)h(ha)o(v)o(e)g(inserted.)21 +b(Lik)o(ewise,)75 293 y(when)e(y)o(ou)g(delete)h(text)e(b)q(ehind)j +(the)e(cursor,)g(c)o(haracters)f(to)g(the)h(righ)o(t)f(of)g(the)h +(cursor)g(are)f(`pulled)75 348 y(bac)o(k')11 b(to)g(\014ll)h(in)h(the)e +(blank)h(space)g(created)f(b)o(y)h(the)f(remo)o(v)m(al)g(of)g(the)h +(text.)18 b(A)11 b(list)h(of)f(the)h(bare)f(essen)o(tials)75 +402 y(for)k(editing)h(the)f(text)g(of)g(an)g(input)h(line)h(follo)o +(ws.)75 479 y Fh(h)p 87 453 57 2 v 87 481 a Fg(C-b)p +87 489 V 142 479 a Fh(i)315 481 y Fn(Mo)o(v)o(e)d(bac)o(k)h(one)h(c)o +(haracter.)75 558 y Fh(h)p 87 532 49 2 v 87 560 a Fg(C-f)p +87 567 V 133 558 a Fh(i)315 560 y Fn(Mo)o(v)o(e)e(forw)o(ard)g(one)h(c) +o(haracter.)75 636 y Fh(h)p 87 610 73 2 v 87 638 a Fg(DEL)p +87 646 V 158 636 a Fh(i)188 638 y Fn(or)244 636 y Fh(h)p +256 610 159 2 v 256 638 a Fg(Bac)o(kspace)p 256 646 V +412 636 a Fh(i)315 693 y Fn(Delete)h(the)f(c)o(haracter)g(to)f(the)h +(left)h(of)f(the)g(cursor.)75 770 y Fh(h)p 87 744 57 +2 v 87 772 a Fg(C-d)p 87 779 V 142 770 a Fh(i)315 772 +y Fn(Delete)h(the)f(c)o(haracter)g(underneath)h(the)f(cursor.)75 +850 y(Prin)o(ting)h(c)o(haracters)315 905 y(Insert)f(the)h(c)o +(haracter)e(in)o(to)h(the)h(line)h(at)d(the)h(cursor.)75 +981 y Fh(h)p 87 955 50 2 v 87 983 a Fg(C-)p 126 983 11 +2 v 87 991 50 2 v 135 981 a Fh(i)165 983 y Fn(or)221 +981 y Fh(h)p 233 955 125 2 v 233 983 a Fg(C-x)c(C-u)p +233 991 V 355 981 a Fh(i)315 1038 y Fn(Undo)17 b(the)g(last)f(editing)i +(command.)25 b(Y)l(ou)17 b(can)g(undo)g(all)g(the)g(w)o(a)o(y)f(bac)o +(k)h(to)f(an)g(empt)o(y)315 1093 y(line.)75 1172 y(\(Dep)q(ending)i(on) +f(y)o(our)g(con\014guration,)g(the)863 1170 y Fh(h)p +875 1144 159 2 v 875 1172 a Fg(Bac)o(kspace)p 875 1179 +V 1032 1170 a Fh(i)1063 1172 y Fn(k)o(ey)g(b)q(e)h(set)f(to)f(delete)i +(the)f(c)o(haracter)g(to)f(the)75 1226 y(left)h(of)f(the)h(cursor)f +(and)g(the)596 1224 y Fh(h)p 608 1198 73 2 v 608 1226 +a Fg(DEL)p 608 1234 V 679 1224 a Fh(i)710 1226 y Fn(k)o(ey)h(set)f(to)g +(delete)h(the)g(c)o(haracter)f(underneath)h(the)g(cursor,)f(lik)o(e)75 +1279 y Fh(h)p 87 1253 57 2 v 87 1281 a Fg(C-d)p 87 1289 +V 142 1279 a Fh(i)157 1281 y Fn(,)f(rather)f(than)h(the)h(c)o(haracter) +e(to)h(the)g(left)g(of)g(the)g(cursor.\))75 1392 y Fe(1.2.2)30 +b(Readline)20 b(Mo)n(v)n(emen)n(t)i(Commands)137 1487 +y Fn(The)14 b(ab)q(o)o(v)o(e)e(table)i(describ)q(es)g(the)g(most)e +(basic)i(k)o(eystrok)o(es)d(that)i(y)o(ou)g(need)h(in)f(order)g(to)g +(do)g(editing)75 1542 y(of)f(the)h(input)h(line.)21 b(F)l(or)12 +b(y)o(our)g(con)o(v)o(enience,)i(man)o(y)f(other)f(commands)h(ha)o(v)o +(e)f(b)q(een)i(added)f(in)h(addition)75 1597 y(to)130 +1595 y Fh(h)p 142 1569 V 142 1597 a Fg(C-b)p 142 1605 +V 197 1595 a Fh(i)212 1597 y Fn(,)239 1595 y Fh(h)p 251 +1569 49 2 v 251 1597 a Fg(C-f)p 251 1605 V 297 1595 a +Fh(i)312 1597 y Fn(,)339 1595 y Fh(h)p 351 1569 57 2 +v 351 1597 a Fg(C-d)p 351 1605 V 406 1595 a Fh(i)421 +1597 y Fn(,)g(and)536 1595 y Fh(h)p 548 1569 73 2 v 548 +1597 a Fg(DEL)p 548 1605 V 619 1595 a Fh(i)634 1597 y +Fn(.)20 b(Here)15 b(are)f(some)g(commands)h(for)f(mo)o(ving)g(more)h +(rapidly)g(ab)q(out)g(the)75 1652 y(line.)75 1728 y Fh(h)p +87 1702 55 2 v 87 1730 a Fg(C-a)p 87 1738 V 140 1728 +a Fh(i)315 1730 y Fn(Mo)o(v)o(e)f(to)h(the)g(start)f(of)h(the)g(line.) +75 1807 y Fh(h)p 87 1781 53 2 v 87 1809 a Fg(C-e)p 87 +1817 V 138 1807 a Fh(i)315 1809 y Fn(Mo)o(v)o(e)f(to)h(the)g(end)h(of)f +(the)g(line.)75 1885 y Fh(h)p 87 1859 55 2 v 87 1887 +a Fg(M-f)p 87 1895 V 140 1885 a Fh(i)315 1887 y Fn(Mo)o(v)o(e)f(forw)o +(ard)g(a)h(w)o(ord,)f(where)i(a)e(w)o(ord)h(is)h(comp)q(osed)f(of)g +(letters)g(and)h(digits.)75 1964 y Fh(h)p 87 1938 64 +2 v 87 1966 a Fg(M-b)p 87 1974 V 149 1964 a Fh(i)315 +1966 y Fn(Mo)o(v)o(e)e(bac)o(kw)o(ard)h(a)g(w)o(ord.)75 +2043 y Fh(h)p 87 2017 48 2 v 87 2045 a Fg(C-l)p 87 2052 +V 132 2043 a Fh(i)315 2045 y Fn(Clear)g(the)h(screen,)f(reprin)o(ting)h +(the)f(curren)o(t)g(line)i(at)e(the)g(top.)137 2123 y(Notice)d(ho)o(w) +368 2121 y Fh(h)p 380 2095 49 2 v 380 2123 a Fg(C-f)p +380 2131 V 426 2121 a Fh(i)452 2123 y Fn(mo)o(v)o(es)f(forw)o(ard)f(a)i +(c)o(haracter,)f(while)1105 2121 y Fh(h)p 1117 2095 55 +2 v 1117 2123 a Fg(M-f)p 1117 2131 V 1170 2121 a Fh(i)1197 +2123 y Fn(mo)o(v)o(es)f(forw)o(ard)h(a)g(w)o(ord.)18 +b(It)12 b(is)g(a)g(lo)q(ose)75 2178 y(con)o(v)o(en)o(tion)j(that)f(con) +o(trol)h(k)o(eystrok)o(es)f(op)q(erate)h(on)f(c)o(haracters)h(while)h +(meta)e(k)o(eystrok)o(es)g(op)q(erate)h(on)75 2233 y(w)o(ords.)75 +2343 y Fe(1.2.3)30 b(Readline)20 b(Killing)h(Commands)137 +2439 y Ff(Killing)26 b Fn(text)18 b(means)g(to)g(delete)i(the)f(text)f +(from)g(the)h(line,)i(but)d(to)g(sa)o(v)o(e)g(it)h(a)o(w)o(a)o(y)e(for) +h(later)h(use,)75 2494 y(usually)f(b)o(y)f Ff(y)o(anking)22 +b Fn(\(re-inserting\))17 b(it)g(bac)o(k)g(in)o(to)g(the)h(line.)27 +b(\(`Cut')15 b(and)j(`paste')e(are)g(more)h(recen)o(t)75 +2549 y(jargon)d(for)h(`kill')h(and)g(`y)o(ank'.\))137 +2615 y(If)g(the)f(description)h(for)f(a)g(command)g(sa)o(ys)f(that)h +(it)g(`kills')h(text,)e(then)i(y)o(ou)f(can)g(b)q(e)h(sure)f(that)f(y)o +(ou)75 2670 y(can)h(get)g(the)g(text)g(bac)o(k)g(in)h(a)f(di\013eren)o +(t)g(\(or)g(the)g(same\))g(place)h(later.)p eop +%%Page: 3 5 +3 4 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 +b(3)137 183 y(When)12 b(y)o(ou)g(use)g(a)f(kill)i(command,)f(the)g +(text)f(is)h(sa)o(v)o(ed)f(in)i(a)e Ff(kill-ring)p Fn(.)21 +b(An)o(y)12 b(n)o(um)o(b)q(er)g(of)f(consecutiv)o(e)75 +238 y(kills)17 b(sa)o(v)o(e)e(all)h(of)f(the)h(killed)i(text)d +(together,)f(so)h(that)g(when)h(y)o(ou)f(y)o(ank)g(it)h(bac)o(k,)f(y)o +(ou)g(get)g(it)h(all.)22 b(The)75 293 y(kill)c(ring)f(is)f(not)g(line)i +(sp)q(eci\014c;)g(the)e(text)g(that)f(y)o(ou)h(killed)j(on)d(a)g +(previously)h(t)o(yp)q(ed)g(line)h(is)e(a)o(v)m(ailable)75 +348 y(to)f(b)q(e)g(y)o(ank)o(ed)g(bac)o(k)h(later,)e(when)i(y)o(ou)f +(are)g(t)o(yping)g(another)g(line.)137 415 y(Here)h(is)f(the)h(list)g +(of)e(commands)h(for)g(killing)j(text.)75 492 y Fh(h)p +87 466 56 2 v 87 494 a Fg(C-k)p 87 502 V 141 492 a Fh(i)315 +494 y Fn(Kill)f(the)f(text)e(from)h(the)g(curren)o(t)g(cursor)g(p)q +(osition)h(to)f(the)g(end)h(of)f(the)g(line.)75 571 y +Fh(h)p 87 545 64 2 v 87 573 a Fg(M-d)p 87 581 V 149 571 +a Fh(i)315 573 y Fn(Kill)g(from)e(the)g(cursor)g(to)f(the)i(end)g(of)e +(the)i(curren)o(t)f(w)o(ord,)f(or,)h(if)g(b)q(et)o(w)o(een)h(w)o(ords,) +e(to)h(the)315 628 y(end)j(of)f(the)g(next)g(w)o(ord.)k(W)l(ord)c(b)q +(oundaries)i(are)e(the)g(same)g(as)g(those)f(used)i(b)o(y)1728 +626 y Fh(h)p 1740 600 55 2 v 1740 628 a Fg(M-f)p 1740 +636 V 1793 626 a Fh(i)1808 628 y Fn(.)75 705 y Fh(h)p +87 679 118 2 v 87 707 a Fg(M-DEL)p 87 715 V 202 705 a +Fh(i)315 707 y Fn(Kill)21 b(from)e(the)g(cursor)f(the)h(start)f(of)h +(the)g(previous)h(w)o(ord,)f(or,)g(if)g(b)q(et)o(w)o(een)h(w)o(ords,)f +(to)315 762 y(the)14 b(start)f(of)g(the)h(previous)g(w)o(ord.)19 +b(W)l(ord)14 b(b)q(oundaries)h(are)e(the)h(same)g(as)f(those)h(used)g +(b)o(y)315 815 y Fh(h)p 327 789 64 2 v 327 817 a Fg(M-b)p +327 825 V 389 815 a Fh(i)404 817 y Fn(.)75 894 y Fh(h)p +87 868 63 2 v 87 896 a Fg(C-w)p 87 904 V 148 894 a Fh(i)315 +896 y Fn(Kill)k(from)d(the)h(cursor)g(to)f(the)h(previous)h +(whitespace.)22 b(This)17 b(is)f(di\013eren)o(t)g(than)1733 +894 y Fh(h)p 1745 868 118 2 v 1745 896 a Fg(M-DEL)p 1745 +904 V 1860 894 a Fh(i)315 951 y Fn(b)q(ecause)g(the)f(w)o(ord)g(b)q +(oundaries)h(di\013er.)137 1030 y(Here)21 b(is)h(ho)o(w)e(to)g +Ff(y)o(ank)j Fn(the)e(text)f(bac)o(k)h(in)o(to)g(the)f(line.)39 +b(Y)l(anking)21 b(means)g(to)f(cop)o(y)h(the)g(most-)75 +1085 y(recen)o(tly-killed)d(text)d(from)f(the)i(kill)h(bu\013er.)75 +1163 y Fh(h)p 87 1137 56 2 v 87 1165 a Fg(C-y)p 87 1172 +V 141 1163 a Fh(i)315 1165 y Fn(Y)l(ank)e(the)h(most)e(recen)o(tly)i +(killed)h(text)e(bac)o(k)g(in)o(to)g(the)h(bu\013er)f(at)f(the)i +(cursor.)75 1242 y Fh(h)p 87 1216 63 2 v 87 1244 a Fg(M-y)p +87 1252 V 148 1242 a Fh(i)315 1244 y Fn(Rotate)h(the)g(kill-ring,)j +(and)d(y)o(ank)g(the)h(new)f(top.)26 b(Y)l(ou)17 b(can)h(only)g(do)f +(this)h(if)f(the)h(prior)315 1299 y(command)d(is)568 +1297 y Fh(h)p 580 1271 56 2 v 580 1299 a Fg(C-y)p 580 +1306 V 634 1297 a Fh(i)664 1299 y Fn(or)719 1297 y Fh(h)p +732 1271 63 2 v 732 1299 a Fg(M-y)p 732 1306 V 792 1297 +a Fh(i)807 1299 y Fn(.)75 1410 y Fe(1.2.4)30 b(Readline)20 +b(Argumen)n(ts)137 1506 y Fn(Y)l(ou)15 b(can)g(pass)f(n)o(umeric)i +(argumen)o(ts)e(to)g(Readline)i(commands.)k(Sometimes)15 +b(the)g(argumen)o(t)e(acts)75 1561 y(as)20 b(a)g(rep)q(eat)g(coun)o(t,) +h(other)f(times)g(it)h(is)g(the)f Ff(sign)h Fn(of)f(the)g(argumen)o(t)f +(that)h(is)h(signi\014can)o(t.)36 b(If)20 b(y)o(ou)75 +1616 y(pass)d(a)f(negativ)o(e)h(argumen)o(t)f(to)g(a)g(command)h(whic)o +(h)h(normally)f(acts)f(in)i(a)e(forw)o(ard)g(direction,)i(that)75 +1671 y(command)g(will)h(act)e(in)i(a)e(bac)o(kw)o(ard)g(direction.)28 +b(F)l(or)17 b(example,)i(to)e(kill)j(text)d(bac)o(k)g(to)g(the)h(start) +e(of)75 1726 y(the)f(line,)i(y)o(ou)e(migh)o(t)g(t)o(yp)q(e)g(`)p +Fm(M--)f(C-k)p Fn('.)137 1793 y(The)h(general)f(w)o(a)o(y)f(to)h(pass)g +(n)o(umeric)h(argumen)o(ts)e(to)g(a)h(command)g(is)h(to)e(t)o(yp)q(e)h +(meta)g(digits)h(b)q(efore)75 1847 y(the)h(command.)k(If)c(the)f +(\014rst)g(`digit')h(t)o(yp)q(ed)f(is)h(a)g(min)o(us)g(sign)g(\(`)p +Fm(-)p Fn('\),)d(then)j(the)f(sign)h(of)f(the)h(argumen)o(t)75 +1902 y(will)g(b)q(e)f(negativ)o(e.)k(Once)c(y)o(ou)f(ha)o(v)o(e)g(t)o +(yp)q(ed)g(one)h(meta)e(digit)i(to)f(get)f(the)h(argumen)o(t)g +(started,)f(y)o(ou)h(can)75 1957 y(t)o(yp)q(e)19 b(the)g(remainder)g +(of)f(the)h(digits,)h(and)f(then)g(the)g(command.)30 +b(F)l(or)18 b(example,)i(to)e(giv)o(e)h(the)1793 1955 +y Fh(h)p 1805 1929 57 2 v 1805 1957 a Fg(C-d)p 1805 1965 +V 1860 1955 a Fh(i)75 2012 y Fn(command)c(an)g(argumen)o(t)g(of)f(10,)h +(y)o(ou)f(could)j(t)o(yp)q(e)e(`)p Fm(M-1)f(0)h(C-d)p +Fn('.)75 2123 y Fe(1.2.5)30 b(Searc)n(hing)21 b(for)f(Commands)h(in)f +(the)h(History)137 2219 y Fn(Readline)e(pro)o(vides)d(commands)g(for)g +(searc)o(hing)g(through)g(the)g(command)g(history)g(for)g(lines)i(con-) +75 2274 y(taining)e(a)f(sp)q(eci\014ed)i(string.)j(There)c(are)e(t)o(w) +o(o)g(searc)o(h)h(mo)q(des:)20 b Ff(incremen)o(tal)e +Fn(and)e Ff(non-incremen)o(tal)p Fn(.)137 2341 y(Incremen)o(tal)e +(searc)o(hes)f(b)q(egin)h(b)q(efore)f(the)g(user)g(has)g(\014nished)h +(t)o(yping)f(the)g(searc)o(h)g(string.)19 b(As)13 b(eac)o(h)75 +2396 y(c)o(haracter)k(of)g(the)h(searc)o(h)g(string)f(is)h(t)o(yp)q +(ed,)h(Readline)h(displa)o(ys)e(the)g(next)g(en)o(try)f(from)g(the)h +(history)75 2451 y(matc)o(hing)12 b(the)g(string)g(t)o(yp)q(ed)g(so)g +(far.)18 b(An)13 b(incremen)o(tal)g(searc)o(h)f(requires)g(only)h(as)f +(man)o(y)f(c)o(haracters)g(as)75 2506 y(needed)16 b(to)d(\014nd)j(the)e +(desired)i(history)e(en)o(try)l(.)19 b(T)l(o)c(searc)o(h)f(bac)o(kw)o +(ard)f(in)j(the)e(history)g(for)g(a)g(particular)75 2560 +y(string,)g(t)o(yp)q(e)317 2558 y Fh(h)p 329 2532 51 +2 v 329 2560 a Fg(C-r)p 329 2568 V 378 2558 a Fh(i)393 +2560 y Fn(.)19 b(T)o(yping)580 2558 y Fh(h)p 592 2532 +52 2 v 592 2560 a Fg(C-s)p 592 2568 V 641 2558 a Fh(i)670 +2560 y Fn(searc)o(hes)14 b(forw)o(ard)f(through)g(the)h(history)l(.)20 +b(The)14 b(c)o(haracters)f(presen)o(t)75 2615 y(in)20 +b(the)f(v)m(alue)h(of)f(the)g Fm(isearch-terminators)d +Fn(v)m(ariable)k(are)f(used)h(to)e(terminate)h(an)g(incremen)o(tal)75 +2670 y(searc)o(h.)29 b(If)19 b(that)e(v)m(ariable)j(has)e(not)g(b)q +(een)i(assigned)f(a)f(v)m(alue,)i(the)1282 2668 y Fh(h)p +1294 2642 70 2 v 1294 2670 a Fg(ESC)p 1294 2678 V 1361 +2668 a Fh(i)1395 2670 y Fn(and)1486 2668 y Fh(h)p 1498 +2642 56 2 v 1498 2670 a Fg(C-J)p 1498 2678 V 1551 2668 +a Fh(i)1585 2670 y Fn(c)o(haracters)d(will)p eop +%%Page: 4 6 +4 5 bop 75 -58 a Fn(4)1322 b(GNU)15 b(Readline)i(Library)75 +183 y(terminate)k(an)f(incremen)o(tal)i(searc)o(h.)780 +181 y Fh(h)p 792 155 55 2 v 792 183 a Fg(C-g)p 792 191 +V 845 181 a Fh(i)880 183 y Fn(will)g(ab)q(ort)e(an)h(incremen)o(tal)h +(searc)o(h)e(and)h(restore)f(the)75 238 y(original)c(line.)21 +b(When)15 b(the)f(searc)o(h)g(is)h(terminated,)g(the)f(history)h(en)o +(try)f(con)o(taining)h(the)g(searc)o(h)f(string)75 293 +y(b)q(ecomes)i(the)f(curren)o(t)g(line.)137 357 y(T)l(o)g(\014nd)h +(other)e(matc)o(hing)h(en)o(tries)h(in)f(the)g(history)g(list,)h(t)o +(yp)q(e)1231 355 y Fh(h)p 1243 329 51 2 v 1243 357 a +Fg(C-r)p 1243 364 V 1292 355 a Fh(i)1322 357 y Fn(or)1377 +355 y Fh(h)p 1389 329 52 2 v 1389 357 a Fg(C-s)p 1389 +364 V 1438 355 a Fh(i)1468 357 y Fn(as)f(appropriate.)k(This)75 +412 y(will)c(searc)o(h)e(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)i(the)f +(history)g(for)g(the)g(next)g(en)o(try)g(matc)o(hing)g(the)g(searc)o(h) +g(string)75 466 y(t)o(yp)q(ed)19 b(so)g(far.)30 b(An)o(y)19 +b(other)f(k)o(ey)h(sequence)h(b)q(ound)g(to)e(a)h(Readline)i(command)d +(will)j(terminate)e(the)75 521 y(searc)o(h)h(and)h(execute)g(that)f +(command.)35 b(F)l(or)20 b(instance,)i(a)1151 519 y Fh(h)p +1163 493 76 2 v 1163 521 a Fg(RET)p 1163 529 V 1236 519 +a Fh(i)1271 521 y Fn(will)g(terminate)f(the)f(searc)o(h)h(and)75 +576 y(accept)15 b(the)h(line,)g(thereb)o(y)f(executing)i(the)e(command) +g(from)g(the)g(history)g(list.)137 640 y(Non-incremen)o(tal)25 +b(searc)o(hes)e(read)h(the)f(en)o(tire)h(searc)o(h)f(string)g(b)q +(efore)h(starting)f(to)f(searc)o(h)i(for)75 695 y(matc)o(hing)d +(history)h(lines.)39 b(The)22 b(searc)o(h)f(string)g(ma)o(y)g(b)q(e)h +(t)o(yp)q(ed)f(b)o(y)h(the)f(user)h(or)e(b)q(e)i(part)f(of)g(the)75 +750 y(con)o(ten)o(ts)15 b(of)f(the)i(curren)o(t)f(line.)75 +868 y Fl(1.3)33 b(Readline)23 b(Init)h(File)137 961 y +Fn(Although)f(the)g(Readline)i(library)e(comes)g(with)g(a)f(set)g(of)g +(Emacs-lik)o(e)i(k)o(eybindings)g(installed)75 1016 y(b)o(y)d(default,) +h(it)f(is)h(p)q(ossible)g(to)e(use)i(a)e(di\013eren)o(t)h(set)g(of)f(k) +o(eybindings.)39 b(An)o(y)20 b(user)h(can)g(customize)75 +1071 y(programs)15 b(that)h(use)g(Readline)j(b)o(y)d(putting)g +(commands)g(in)i(an)e Ff(inputrc)k Fn(\014le,)d(con)o(v)o(en)o +(tionally)g(in)g(his)75 1126 y(home)g(directory)l(.)24 +b(The)17 b(name)g(of)f(this)h(\014le)g(is)g(tak)o(en)g(from)e(the)i(v)m +(alue)h(of)e(the)h(en)o(vironmen)o(t)g(v)m(ariable)75 +1181 y Fm(INPUTRC)p Fn(.)i(If)c(that)g(v)m(ariable)h(is)g(unset,)f(the) +g(default)h(is)g(`)p Fm(~/.inputrc)p Fn('.)137 1244 y(When)f(a)g +(program)f(whic)o(h)h(uses)g(the)g(Readline)i(library)f(starts)d(up,)i +(the)g(init)h(\014le)g(is)f(read,)g(and)g(the)75 1299 +y(k)o(ey)g(bindings)i(are)e(set.)137 1363 y(In)f(addition,)h(the)e +Fm(C-x)i(C-r)e Fn(command)g(re-reads)h(this)g(init)g(\014le,)h(th)o(us) +e(incorp)q(orating)h(an)o(y)f(c)o(hanges)75 1418 y(that)h(y)o(ou)h +(migh)o(t)g(ha)o(v)o(e)g(made)g(to)g(it.)75 1520 y Fe(1.3.1)30 +b(Readline)20 b(Init)g(File)h(Syn)n(tax)137 1613 y Fn(There)c(are)g +(only)g(a)g(few)f(basic)i(constructs)e(allo)o(w)o(ed)i(in)f(the)g +(Readline)i(init)f(\014le.)26 b(Blank)18 b(lines)g(are)75 +1668 y(ignored.)36 b(Lines)22 b(b)q(eginning)h(with)d(a)h(`)p +Fm(#)p Fn(')e(are)h(commen)o(ts.)35 b(Lines)22 b(b)q(eginning)h(with)e +(a)f(`)p Fm($)p Fn(')f(indicate)75 1723 y(conditional)c(constructs)f +(\(see)g(Section)g(1.3.2)f([Conditional)h(Init)h(Constructs],)e(page)h +(8\).)k(Other)c(lines)75 1778 y(denote)h(v)m(ariable)i(settings)e(and)h +(k)o(ey)f(bindings.)75 1851 y(V)l(ariable)h(Settings)315 +1906 y(Y)l(ou)k(can)h(mo)q(dify)g(the)f(run-time)h(b)q(eha)o(vior)g(of) +e(Readline)k(b)o(y)d(altering)h(the)f(v)m(alues)h(of)315 +1960 y(v)m(ariables)13 b(in)g(Readline)i(using)d(the)g +Fm(set)g Fn(command)g(within)h(the)f(init)h(\014le.)20 +b(Here)13 b(is)f(ho)o(w)g(to)315 2015 y(c)o(hange)e(from)g(the)g +(default)h(Emacs-lik)o(e)g(k)o(ey)f(binding)i(to)e(use)g +Fm(vi)g Fn(line)i(editing)g(commands:)435 2076 y Fm(set)23 +b(editing-mode)g(vi)315 2140 y Fn(A)15 b(great)g(deal)g(of)g(run-time)h +(b)q(eha)o(vior)g(is)g(c)o(hangeable)g(with)f(the)h(follo)o(wing)f(v)m +(ariables.)315 2213 y Fm(bell-style)555 2268 y Fn(Con)o(trols)21 +b(what)h(happ)q(ens)h(when)f(Readline)i(w)o(an)o(ts)d(to)g(ring)i(the)f +(termi-)555 2323 y(nal)d(b)q(ell.)32 b(If)19 b(set)f(to)g(`)p +Fm(none)p Fn(',)g(Readline)j(nev)o(er)e(rings)g(the)f(b)q(ell.)32 +b(If)19 b(set)g(to)555 2378 y(`)p Fm(visible)p Fn(',)c(Readline)j(uses) +f(a)f(visible)j(b)q(ell)g(if)e(one)f(is)h(a)o(v)m(ailable.)26 +b(If)16 b(set)h(to)555 2432 y(`)p Fm(audible)p Fn(')g(\(the)h +(default\),)i(Readline)h(attempts)d(to)g(ring)h(the)g(terminal's)555 +2487 y(b)q(ell.)315 2560 y Fm(comment-begin)555 2615 +y Fn(The)c(string)f(to)g(insert)i(at)d(the)i(b)q(eginning)i(of)d(the)h +(line)h(when)f(the)g Fm(insert-)555 2670 y(comment)f +Fn(command)h(is)h(executed.)21 b(The)15 b(default)h(v)m(alue)g(is)g +Fm("#")p Fn(.)p eop +%%Page: 5 7 +5 6 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 +b(5)315 183 y Fm(completion-ignore-case)555 238 y Fn(If)14 +b(set)f(to)g(`)p Fm(on)p Fn(',)g(Readline)j(p)q(erforms)d(\014lename)i +(matc)o(hing)f(and)g(completion)555 293 y(in)i(a)f(case-insensitiv)o(e) +i(fashion.)k(The)15 b(default)h(v)m(alue)g(is)g(`)p Fm(off)p +Fn('.)315 384 y Fm(completion-query-items)555 439 y Fn(The)d(n)o(um)o +(b)q(er)h(of)e(p)q(ossible)j(completions)g(that)d(determines)i(when)g +(the)f(user)555 494 y(is)21 b(ask)o(ed)g(whether)g(he)h(w)o(an)o(ts)d +(to)i(see)g(the)g(list)h(of)e(p)q(ossibilitie)q(s.)40 +b(If)21 b(the)555 549 y(n)o(um)o(b)q(er)14 b(of)f(p)q(ossible)i +(completions)f(is)g(greater)f(than)g(this)h(v)m(alue,)h(Readline)555 +604 y(will)g(ask)e(the)g(user)h(whether)f(or)g(not)g(he)g(wishes)h(to)f +(view)h(them;)f(otherwise,)555 658 y(they)i(are)g(simply)i(listed.)k +(The)15 b(default)h(limit)h(is)e Fm(100)p Fn(.)315 750 +y Fm(convert-meta)555 805 y Fn(If)i(set)g(to)g(`)p Fm(on)p +Fn(',)f(Readline)k(will)e(con)o(v)o(ert)f(c)o(haracters)f(with)i(the)f +(eigh)o(th)g(bit)555 860 y(set)f(to)f(an)h(ASCI)q(I)h(k)o(ey)f +(sequence)h(b)o(y)f(stripping)h(the)f(eigh)o(th)h(bit)f(and)h(pre-)555 +915 y(\014xing)i(an)749 913 y Fh(h)p 761 887 70 2 v 761 +915 a Fg(ESC)p 761 922 V 828 913 a Fh(i)861 915 y Fn(c)o(haracter,)f +(con)o(v)o(erting)g(them)g(to)g(a)f(meta-pre\014xed)i(k)o(ey)555 +969 y(sequence.)i(The)15 b(default)h(v)m(alue)h(is)e(`)p +Fm(on)p Fn('.)315 1061 y Fm(disable-completion)555 1116 +y Fn(If)k(set)f(to)f(`)p Fm(On)p Fn(',)h(Readline)j(will)f(inhibit)g(w) +o(ord)e(completion.)30 b(Completion)555 1171 y(c)o(haracters)12 +b(will)j(b)q(e)f(inserted)g(in)o(to)f(the)g(line)h(as)f(if)h(they)f +(had)g(b)q(een)h(mapp)q(ed)555 1225 y(to)h Fm(self-insert)p +Fn(.)j(The)d(default)h(is)g(`)p Fm(off)p Fn('.)315 1317 +y Fm(editing-mode)555 1372 y Fn(The)f Fm(editing-mode)d +Fn(v)m(ariable)k(con)o(trols)e(whic)o(h)h(default)g(set)f(of)g(k)o(ey)g +(bind-)555 1427 y(ings)f(is)g(used.)20 b(By)12 b(default,)i(Readline)g +(starts)e(up)h(in)g(Emacs)f(editing)i(mo)q(de,)555 1481 +y(where)h(the)f(k)o(eystrok)o(es)g(are)g(most)g(similar)i(to)d(Emacs.) +20 b(This)15 b(v)m(ariable)h(can)555 1536 y(b)q(e)g(set)f(to)f(either)i +(`)p Fm(emacs)p Fn(')e(or)h(`)p Fm(vi)p Fn('.)315 1628 +y Fm(enable-keypad)555 1683 y Fn(When)d(set)f(to)h(`)p +Fm(on)p Fn(',)e(Readline)k(will)g(try)d(to)g(enable)i(the)f +(application)h(k)o(eypad)555 1737 y(when)h(it)f(is)h(called.)21 +b(Some)13 b(systems)g(need)h(this)g(to)f(enable)h(the)g(arro)o(w)e(k)o +(eys.)555 1792 y(The)j(default)h(is)g(`)p Fm(off)p Fn('.)315 +1884 y Fm(expand-tilde)555 1939 y Fn(If)e(set)g(to)f(`)p +Fm(on)p Fn(',)f(tilde)k(expansion)e(is)h(p)q(erformed)f(when)g +(Readline)i(attempts)555 1994 y(w)o(ord)f(completion.)21 +b(The)15 b(default)h(is)f(`)p Fm(off)p Fn('.)315 2085 +y Fm(horizontal-scroll-mode)555 2140 y Fn(This)k(v)m(ariable)g(can)f(b) +q(e)g(set)g(to)f(either)i(`)p Fm(on)p Fn(')e(or)g(`)p +Fm(off)p Fn('.)27 b(Setting)19 b(it)f(to)f(`)p Fm(on)p +Fn(')555 2195 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)i(b)q +(eing)f(edited)g(will)h(scroll)f(horizon)o(tally)555 +2250 y(on)i(a)f(single)i(screen)g(line)g(when)g(they)f(are)f(longer)h +(than)g(the)g(width)g(of)g(the)555 2304 y(screen,)e(instead)f(of)g +(wrapping)g(on)o(to)f(a)h(new)g(screen)h(line.)21 b(By)13 +b(default,)h(this)555 2359 y(v)m(ariable)j(is)e(set)g(to)g(`)p +Fm(off)p Fn('.)315 2451 y Fm(input-meta)555 2506 y Fn(If)h(set)g(to)f +(`)p Fm(on)p Fn(',)f(Readline)k(will)g(enable)f(eigh)o(t-bit)f(input)h +(\(it)f(will)h(not)f(strip)555 2560 y(the)f(eigh)o(th)g(bit)h(from)e +(the)h(c)o(haracters)f(it)i(reads\),)e(regardless)h(of)f(what)h(the)555 +2615 y(terminal)21 b(claims)g(it)f(can)g(supp)q(ort.)34 +b(The)20 b(default)h(v)m(alue)g(is)g(`)p Fm(off)p Fn('.)33 +b(The)555 2670 y(name)15 b Fm(meta-flag)f Fn(is)i(a)f(synon)o(ym)g(for) +f(this)i(v)m(ariable.)p eop +%%Page: 6 8 +6 7 bop 75 -58 a Fn(6)1322 b(GNU)15 b(Readline)i(Library)315 +183 y Fm(isearch-terminators)555 238 y Fn(The)26 b(string)g(of)f(c)o +(haracters)g(that)g(should)i(terminate)f(an)g(incremen)o(tal)555 +293 y(searc)o(h)e(without)h(subsequen)o(tly)g(executing)h(the)e(c)o +(haracter)g(as)g(a)g(com-)555 348 y(mand)19 b(\(see)f(Section)i(1.2.5)d +([Searc)o(hing],)i(page)f(3\).)29 b(If)19 b(this)g(v)m(ariable)h(has) +555 402 y(not)13 b(b)q(een)h(giv)o(en)g(a)f(v)m(alue,)i(the)e(c)o +(haracters)1312 400 y Fh(h)p 1324 374 70 2 v 1324 402 +a Fg(ESC)p 1324 410 V 1391 400 a Fh(i)1419 402 y Fn(and)1505 +400 y Fh(h)p 1518 374 56 2 v 1518 402 a Fg(C-J)p 1518 +410 V 1571 400 a Fh(i)1599 402 y Fn(will)i(terminate)555 +457 y(an)g(incremen)o(tal)h(searc)o(h.)315 540 y Fm(keymap)114 +b Fn(Sets)17 b(Readline's)j(idea)e(of)f(the)h(curren)o(t)g(k)o(eymap)f +(for)g(k)o(ey)g(binding)j(com-)555 595 y(mands.)41 b(Acceptable)23 +b Fm(keymap)f Fn(names)g(are)f Fm(emacs)p Fn(,)i Fm(emacs-standard)p +Fn(,)555 650 y Fm(emacs-meta)p Fn(,)15 b Fm(emacs-ctlx)p +Fn(,)h Fm(vi)p Fn(,)g Fm(vi-command)p Fn(,)g(and)h Fm(vi-insert)p +Fn(.)23 b Fm(vi)16 b Fn(is)555 705 y(equiv)m(alen)o(t)e(to)f +Fm(vi-command)p Fn(;)e Fm(emacs)h Fn(is)i(equiv)m(alen)o(t)g(to)e +Fm(emacs-standard)p Fn(.)555 759 y(The)f(default)h(v)m(alue)g(is)f +Fm(emacs)p Fn(.)18 b(The)11 b(v)m(alue)i(of)d(the)h Fm(editing-mode)f +Fn(v)m(ariable)555 814 y(also)15 b(a\013ects)g(the)g(default)h(k)o +(eymap.)315 897 y Fm(mark-directories)555 952 y Fn(If)j(set)g(to)g(`)p +Fm(on)p Fn(',)f(completed)i(directory)g(names)f(ha)o(v)o(e)f(a)h(slash) +h(app)q(ended.)555 1007 y(The)15 b(default)h(is)g(`)p +Fm(on)p Fn('.)315 1090 y Fm(mark-modified-lines)555 1145 +y Fn(This)j(v)m(ariable,)g(when)g(set)e(to)h(`)p Fm(on)p +Fn(',)f(causes)h(Readline)i(to)d(displa)o(y)i(an)f(as-)555 +1200 y(terisk)f(\(`)p Fm(*)p Fn('\))e(at)i(the)f(start)g(of)h(history)f +(lines)j(whic)o(h)e(ha)o(v)o(e)g(b)q(een)h(mo)q(di\014ed.)555 +1254 y(This)e(v)m(ariable)g(is)g(`)p Fm(off)p Fn(')e(b)o(y)h(default.) +315 1337 y Fm(output-meta)555 1392 y Fn(If)j(set)f(to)g(`)p +Fm(on)p Fn(',)g(Readline)j(will)g(displa)o(y)f(c)o(haracters)d(with)j +(the)e(eigh)o(th)h(bit)555 1447 y(set)g(directly)i(rather)d(than)h(as)g +(a)g(meta-pre\014xed)h(escap)q(e)g(sequence.)30 b(The)555 +1502 y(default)16 b(is)f(`)p Fm(off)p Fn('.)315 1585 +y Fm(print-completions-horizont)o(ally)555 1640 y Fn(If)d(set)g(to)f(`) +p Fm(on)p Fn(',)h(Readline)i(will)f(displa)o(y)h(completions)f(with)f +(matc)o(hes)f(sorted)555 1694 y(horizon)o(tally)23 b(in)f(alphab)q +(etical)i(order,)f(rather)e(than)g(do)o(wn)h(the)g(screen.)555 +1749 y(The)15 b(default)h(is)g(`)p Fm(off)p Fn('.)315 +1832 y Fm(show-all-if-ambiguous)555 1887 y Fn(This)g(alters)e(the)i +(default)f(b)q(eha)o(vior)h(of)e(the)h(completion)h(functions.)21 +b(If)15 b(set)555 1942 y(to)e(`)p Fm(on)p Fn(',)g(w)o(ords)g(whic)o(h)h +(ha)o(v)o(e)g(more)f(than)g(one)h(p)q(ossible)i(completion)f(cause)555 +1997 y(the)20 b(matc)o(hes)f(to)f(b)q(e)j(listed)f(immediately)h +(instead)f(of)f(ringing)i(the)e(b)q(ell.)555 2051 y(The)c(default)h(v)m +(alue)h(is)e(`)p Fm(off)p Fn('.)315 2134 y Fm(visible-stats)555 +2189 y Fn(If)h(set)g(to)f(`)p Fm(on)p Fn(',)g(a)h(c)o(haracter)f +(denoting)h(a)g(\014le's)h(t)o(yp)q(e)f(is)g(app)q(ended)i(to)d(the)555 +2244 y(\014lename)h(when)g(listing)h(p)q(ossible)g(completions.)j(The)c +(default)g(is)f(`)p Fm(off)p Fn('.)75 2327 y(Key)h(Bindings)315 +2382 y(The)21 b(syn)o(tax)f(for)h(con)o(trolling)h(k)o(ey)f(bindings)h +(in)g(the)f(init)h(\014le)g(is)g(simple.)39 b(First)20 +b(y)o(ou)315 2437 y(need)15 b(to)e(\014nd)h(the)g(name)g(of)g(the)f +(command)h(that)f(y)o(ou)h(w)o(an)o(t)f(to)g(c)o(hange.)19 +b(The)14 b(follo)o(wing)315 2491 y(sections)k(con)o(tain)h(tables)f(of) +f(the)h(command)g(name,)g(the)g(default)h(k)o(eybinding,)h(if)e(an)o(y) +l(,)315 2546 y(and)d(a)g(short)g(description)i(of)d(what)h(the)g +(command)g(do)q(es.)315 2615 y(Once)j(y)o(ou)g(kno)o(w)e(the)i(name)f +(of)g(the)h(command,)f(simply)i(place)g(the)e(name)h(of)f(the)g(k)o(ey) +315 2670 y(y)o(ou)c(wish)h(to)f(bind)i(the)f(command)f(to,)g(a)g +(colon,)h(and)g(then)f(the)h(name)f(of)h(the)f(command)p +eop +%%Page: 7 9 +7 8 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 +b(7)315 183 y(on)19 b(a)g(line)i(in)f(the)g(init)g(\014le.)34 +b(The)19 b(name)h(of)e(the)i(k)o(ey)f(can)h(b)q(e)g(expressed)g(in)g +(di\013eren)o(t)315 238 y(w)o(a)o(ys,)14 b(dep)q(ending)j(on)e(whic)o +(h)h(is)g(most)e(comfortable)h(for)g(y)o(ou.)315 316 +y Ff(k)o(eyname)s Fn(:)k Ff(function-name)g Fn(or)c Ff(macro)555 +371 y(k)o(eyname)i Fn(is)e(the)f(name)h(of)f(a)g(k)o(ey)g(sp)q(elled)j +(out)d(in)h(English.)21 b(F)l(or)13 b(example:)675 435 +y Fm(Control-u:)22 b(universal-argument)675 487 y(Meta-Rubout:)g +(backward-kill-word)675 538 y(Control-o:)g(">)i(output")555 +605 y Fn(In)19 b(the)f(ab)q(o)o(v)o(e)g(example,)1023 +603 y Fh(h)p 1035 577 57 2 v 1035 605 a Fg(C-u)p 1035 +613 V 1090 603 a Fh(i)1123 605 y Fn(is)h(b)q(ound)g(to)f(the)g +(function)h Fm(universal-)555 660 y(argument)p Fn(,)g(and)872 +658 y Fh(h)p 884 632 55 2 v 884 660 a Fg(C-o)p 884 667 +V 937 658 a Fh(i)971 660 y Fn(is)h(b)q(ound)g(to)f(run)h(the)f(macro)g +(expressed)h(on)g(the)555 715 y(righ)o(t)13 b(hand)h(side)h(\(that)e +(is,)h(to)f(insert)h(the)g(text)f(`)p Fm(>)h(output)p +Fn(')f(in)o(to)g(the)h(line\).)315 793 y Fm(")p Ff(k)o(eyseq)q +Fm(")p Fn(:)20 b Ff(function-name)e Fn(or)d Ff(macro)555 +848 y(k)o(eyseq)i Fn(di\013ers)e(from)g Ff(k)o(eyname)j +Fn(ab)q(o)o(v)o(e)d(in)i(that)d(strings)i(denoting)g(an)f(en-)555 +902 y(tire)i(k)o(ey)g(sequence)h(can)f(b)q(e)g(sp)q(eci\014ed,)i(b)o(y) +e(placing)h(the)f(k)o(ey)g(sequence)h(in)555 957 y(double)e(quotes.)j +(Some)c Fi(gnu)g Fn(Emacs)f(st)o(yle)h(k)o(ey)g(escap)q(es)g(can)g(b)q +(e)g(used,)g(as)555 1012 y(in)j(the)f(follo)o(wing)g(example,)h(but)f +(the)g(sp)q(ecial)i(c)o(haracter)d(names)h(are)f(not)555 +1067 y(recognized.)675 1130 y Fm("\\C-u":)23 b(universal-argument)675 +1182 y("\\C-x\\C-r":)f(re-read-init-file)675 1234 y("\\e[11~":)h +("Function)f(Key)i(1")555 1301 y Fn(In)19 b(the)f(ab)q(o)o(v)o(e)g +(example,)1023 1299 y Fh(h)p 1035 1273 57 2 v 1035 1301 +a Fg(C-u)p 1035 1308 V 1090 1299 a Fh(i)1123 1301 y Fn(is)h(b)q(ound)g +(to)f(the)g(function)h Fm(universal-)555 1355 y(argument)9 +b Fn(\(just)h(as)h(it)g(w)o(as)e(in)j(the)e(\014rst)h(example\),)g(`) +1463 1353 y Fh(h)p 1475 1327 56 2 v 1475 1355 a Fg(C-x)p +1475 1363 V 1529 1353 a Fh(i)k(h)p 1571 1327 51 2 v 1571 +1355 a Fg(C-r)p 1571 1363 V 1620 1353 a Fh(i)1635 1355 +y Fn(')10 b(is)h(b)q(ound)h(to)555 1410 y(the)k(function)i +Fm(re-read-init-file)p Fn(,)c(and)i(`)1351 1408 y Fh(h)p +1363 1382 70 2 v 1363 1410 a Fg(ESC)p 1363 1418 V 1430 +1408 a Fh(i)f(h)p 1472 1382 10 2 v 1472 1410 a Fg([)p +1472 1419 V 1480 1408 a Fh(i)g(h)p 1522 1382 18 2 v 1522 +1410 a Fg(1)p 1522 1418 V 1538 1408 a Fh(i)g(h)p 1580 +1382 V 1580 1410 a Fg(1)p 1580 1418 V 1595 1408 a Fh(i)g(h)p +1637 1382 24 2 v 1637 1410 a Fm(~)p 1637 1418 V 1659 +1408 a Fh(i)1674 1410 y Fn(')h(is)h(b)q(ound)555 1465 +y(to)e(insert)g(the)g(text)g(`)p Fm(Function)f(Key)h(1)p +Fn('.)315 1543 y(The)g(follo)o(wing)h Fi(gnu)e Fn(Emacs)h(st)o(yle)g +(escap)q(e)h(sequences)g(are)e(a)o(v)m(ailable)j(when)e(sp)q(ecifying) +315 1598 y(k)o(ey)g(sequences:)315 1676 y Fd(\\C-)168 +b Fn(con)o(trol)15 b(pre\014x)315 1755 y Fd(\\M-)168 +b Fn(meta)15 b(pre\014x)315 1833 y Fd(\\e)192 b Fn(an)15 +b(escap)q(e)h(c)o(haracter)315 1911 y Fd(\\\\)192 b Fn(bac)o(kslash)315 +1989 y Fd(\\)p Fm(")555 1987 y Fh(h)p 567 1961 V 567 +1989 a Fm(")p 567 1997 V 589 1987 a Fh(i)604 1989 y Fn(,)15 +b(a)f(double)j(quotation)e(mark)315 2068 y Fd(\\')555 +2066 y Fh(h)p 567 2040 10 2 v 567 2068 a Fg(')p 567 2075 +V 575 2066 a Fh(i)590 2068 y Fn(,)g(a)f(single)j(quote)e(or)g(ap)q +(ostrophe)315 2146 y(In)f(addition)h(to)f(the)f Fi(gnu)h +Fn(Emacs)g(st)o(yle)f(escap)q(e)i(sequences,)g(a)e(second)i(set)e(of)h +(bac)o(kslash)315 2201 y(escap)q(es)i(is)g(a)o(v)m(ailable:)315 +2279 y Fm(\\a)192 b Fn(alert)15 b(\(b)q(ell\))315 2357 +y Fm(\\b)192 b Fn(bac)o(kspace)315 2435 y Fm(\\d)g Fn(delete)315 +2514 y Fm(\\f)g Fn(form)14 b(feed)315 2592 y Fm(\\n)192 +b Fn(newline)315 2670 y Fm(\\r)g Fn(carriage)15 b(return)p +eop +%%Page: 8 10 +8 9 bop 75 -58 a Fn(8)1322 b(GNU)15 b(Readline)i(Library)315 +183 y Fm(\\t)192 b Fn(horizon)o(tal)16 b(tab)315 262 +y Fm(\\v)192 b Fn(v)o(ertical)16 b(tab)315 340 y Fm(\\)p +Ff(nnn)141 b Fn(the)13 b(c)o(haracter)e(whose)i Fm(ASCII)e +Fn(co)q(de)j(is)f(the)f(o)q(ctal)h(v)m(alue)h Ff(nnn)f +Fn(\(one)f(to)g(three)555 395 y(digits\))315 473 y Fm(\\x)p +Ff(nnn)117 b Fn(the)15 b(c)o(haracter)e(whose)i Fm(ASCII)e +Fn(co)q(de)j(is)f(the)f(hexadecimal)i(v)m(alue)g Ff(nnn)f +Fn(\(one)555 528 y(to)g(three)g(digits\))315 607 y(When)k(en)o(tering)g +(the)g(text)f(of)g(a)h(macro,)f(single)i(or)e(double)i(quotes)f(m)o +(ust)f(b)q(e)h(used)h(to)315 662 y(indicate)12 b(a)f(macro)f +(de\014nition.)20 b(Unquoted)11 b(text)f(is)i(assumed)e(to)h(b)q(e)g(a) +f(function)i(name.)18 b(In)315 716 y(the)11 b(macro)f(b)q(o)q(dy)l(,)i +(the)f(bac)o(kslash)g(escap)q(es)g(describ)q(ed)i(ab)q(o)o(v)o(e)d(are) +g(expanded.)20 b(Bac)o(kslash)315 771 y(will)i(quote)d(an)o(y)h(other)g +(c)o(haracter)f(in)i(the)f(macro)f(text,)h(including)j(`)p +Fm(")p Fn(')c(and)h(`)p Fm(')p Fn('.)34 b(F)l(or)315 +826 y(example,)14 b(the)f(follo)o(wing)g(binding)i(will)g(mak)o(e)d(`)p +Fm(C-x)i(\\)p Fn(')f(insert)g(a)g(single)h(`)p Fm(\\)p +Fn(')e(in)o(to)h(the)g(line:)435 890 y Fm("\\C-x\\\\":)23 +b("\\\\")75 1000 y Fe(1.3.2)30 b(Conditional)20 b(Init)g(Constructs)137 +1096 y Fn(Readline)g(implemen)o(ts)f(a)f(facilit)o(y)g(similar)h(in)g +(spirit)f(to)f(the)h(conditional)h(compilation)g(features)75 +1150 y(of)e(the)g(C)g(prepro)q(cessor)g(whic)o(h)i(allo)o(ws)e(k)o(ey)g +(bindings)i(and)f(v)m(ariable)g(settings)f(to)g(b)q(e)h(p)q(erformed)f +(as)75 1205 y(the)e(result)h(of)f(tests.)k(There)c(are)g(four)g(parser) +g(directiv)o(es)h(used.)75 1284 y Fm($if)168 b Fn(The)16 +b Fm($if)f Fn(construct)g(allo)o(ws)h(bindings)i(to)d(b)q(e)h(made)g +(based)g(on)f(the)h(editing)h(mo)q(de,)f(the)315 1338 +y(terminal)k(b)q(eing)g(used,)g(or)f(the)g(application)i(using)e +(Readline.)34 b(The)19 b(text)g(of)f(the)i(test)315 1393 +y(extends)c(to)e(the)h(end)h(of)f(the)g(line;)i(no)e(c)o(haracters)f +(are)h(required)i(to)d(isolate)i(it.)315 1472 y Fm(mode)144 +b Fn(The)11 b Fm(mode=)e Fn(form)h(of)g(the)h Fm($if)f +Fn(directiv)o(e)h(is)g(used)g(to)f(test)g(whether)h(Readline)555 +1527 y(is)k(in)h Fm(emacs)e Fn(or)g Fm(vi)g Fn(mo)q(de.)20 +b(This)c(ma)o(y)e(b)q(e)h(used)g(in)h(conjunction)g(with)f(the)555 +1581 y(`)p Fm(set)f(keymap)p Fn(')f(command,)g(for)h(instance,)g(to)f +(set)h(bindings)h(in)g(the)f Fm(emacs-)555 1636 y(standard)d +Fn(and)i Fm(emacs-ctlx)e Fn(k)o(eymaps)h(only)i(if)f(Readline)h(is)f +(starting)f(out)555 1691 y(in)k Fm(emacs)f Fn(mo)q(de.)315 +1769 y Fm(term)144 b Fn(The)14 b Fm(term=)e Fn(form)h(ma)o(y)g(b)q(e)h +(used)g(to)f(include)j(terminal-sp)q(eci\014c)g(k)o(ey)d(bind-)555 +1824 y(ings,)19 b(p)q(erhaps)g(to)e(bind)i(the)g(k)o(ey)e(sequences)j +(output)e(b)o(y)g(the)g(terminal's)555 1879 y(function)13 +b(k)o(eys.)18 b(The)13 b(w)o(ord)e(on)h(the)g(righ)o(t)g(side)g(of)g +(the)g(`)p Fm(=)p Fn(')f(is)h(tested)g(against)555 1934 +y(b)q(oth)j(the)g(full)i(name)e(of)f(the)h(terminal)h(and)f(the)g(p)q +(ortion)h(of)e(the)h(terminal)555 1989 y(name)i(b)q(efore)g(the)g +(\014rst)f(`)p Fm(-)p Fn('.)24 b(This)17 b(allo)o(ws)g +Fm(sun)f Fn(to)g(matc)o(h)h(b)q(oth)f Fm(sun)h Fn(and)555 +2043 y Fm(sun-cmd)p Fn(,)d(for)g(instance.)315 2122 y +Fm(application)555 2177 y Fn(The)d Ff(application)i Fn(construct)e(is)g +(used)h(to)e(include)j(application-sp)q(eci)q(\014c)h(set-)555 +2231 y(tings.)19 b(Eac)o(h)12 b(program)f(using)j(the)e(Readline)j +(library)e(sets)f(the)g Ff(application)555 2286 y(name)p +Fn(,)17 b(and)f(y)o(ou)h(can)f(test)g(for)g(it.)24 b(This)18 +b(could)f(b)q(e)g(used)g(to)f(bind)i(k)o(ey)f(se-)555 +2341 y(quences)c(to)e(functions)i(useful)g(for)e(a)h(sp)q(eci\014c)i +(program.)j(F)l(or)12 b(instance,)h(the)555 2396 y(follo)o(wing)i +(command)f(adds)g(a)f(k)o(ey)h(sequence)h(that)f(quotes)f(the)i(curren) +o(t)e(or)555 2451 y(previous)j(w)o(ord)e(in)i(Bash:)675 +2514 y Fm($if)23 b(Bash)675 2566 y(#)h(Quote)f(the)g(current)g(or)h +(previous)f(word)675 2618 y("\\C-xq":)g("\\eb\\"\\ef\\"")675 +2670 y($endif)p eop +%%Page: 9 11 +9 10 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 +b(9)75 183 y Fm($endif)96 b Fn(This)16 b(command,)e(as)h(seen)h(in)g +(the)f(previous)h(example,)g(terminates)f(an)g Fm($if)f +Fn(command.)75 263 y Fm($else)120 b Fn(Commands)15 b(in)h(this)f(branc) +o(h)h(of)e(the)i Fm($if)e Fn(directiv)o(e)j(are)e(executed)h(if)g(the)f +(test)g(fails.)75 343 y Fm($include)48 b Fn(This)14 b(directiv)o(e)i +(tak)o(es)d(a)g(single)i(\014lename)g(as)f(an)f(argumen)o(t)g(and)h +(reads)g(commands)g(and)315 397 y(bindings)j(from)e(that)f(\014le.)435 +462 y Fm($include)23 b(/etc/inputrc)75 574 y Fe(1.3.3)30 +b(Sample)20 b(Init)h(File)137 670 y Fn(Here)16 b(is)g(an)f(example)h +(of)f(an)h(inputrc)g(\014le.)22 b(This)16 b(illustrates)g(k)o(ey)g +(binding,)h(v)m(ariable)f(assignmen)o(t,)75 725 y(and)f(conditional)i +(syn)o(tax.)p eop +%%Page: 10 12 +10 11 bop 75 -58 a Fn(10)1299 b(GNU)15 b(Readline)i(Library)195 +235 y Fm(#)24 b(This)f(file)g(controls)g(the)h(behaviour)e(of)i(line)f +(input)g(editing)g(for)195 287 y(#)h(programs)e(that)i(use)f(the)h(Gnu) +f(Readline)g(library.)47 b(Existing)22 b(programs)195 +339 y(#)i(include)f(FTP,)g(Bash,)g(and)h(Gdb.)195 391 +y(#)195 443 y(#)g(You)f(can)h(re-read)f(the)g(inputrc)g(file)g(with)h +(C-x)f(C-r.)195 495 y(#)h(Lines)f(beginning)g(with)g('#')g(are)h +(comments.)195 546 y(#)195 598 y(#)g(First,)f(include)g(any)g +(systemwide)g(bindings)f(and)i(variable)f(assignments)f(from)195 +650 y(#)i(/etc/Inputrc)195 702 y($include)f(/etc/Inputrc)195 +806 y(#)195 858 y(#)h(Set)f(various)g(bindings)g(for)g(emacs)g(mode.) +195 962 y(set)g(editing-mode)g(emacs)195 1065 y($if)g(mode=emacs)195 +1169 y(Meta-Control-h:)46 b(backward-kill-word)21 b(Text)i(after)h(the) +f(function)g(name)g(is)h(ignored)p 1986 1179 21 38 v +195 1273 a(#)195 1325 y(#)g(Arrow)f(keys)g(in)h(keypad)f(mode)195 +1377 y(#)195 1429 y(#"\\M-OD":)190 b(backward-char)195 +1480 y(#"\\M-OC":)g(forward-char)195 1532 y(#"\\M-OA":)g +(previous-history)195 1584 y(#"\\M-OB":)g(next-history)195 +1636 y(#)195 1688 y(#)24 b(Arrow)f(keys)g(in)h(ANSI)f(mode)195 +1740 y(#)195 1792 y("\\M-[D":)190 b(backward-char)195 +1844 y("\\M-[C":)g(forward-char)195 1896 y("\\M-[A":)g +(previous-history)195 1947 y("\\M-[B":)g(next-history)195 +1999 y(#)195 2051 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(keypad)g(mode) +195 2103 y(#)195 2155 y(#"\\M-\\C-OD":)165 b(backward-char)195 +2207 y(#"\\M-\\C-OC":)g(forward-char)195 2259 y(#"\\M-\\C-OA":)g +(previous-history)195 2311 y(#"\\M-\\C-OB":)g(next-history)195 +2363 y(#)195 2414 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(ANSI)g(mode) +195 2466 y(#)195 2518 y(#"\\M-\\C-[D":)165 b(backward-char)195 +2570 y(#"\\M-\\C-[C":)g(forward-char)195 2622 y(#"\\M-\\C-[A":)g +(previous-history)p eop +%%Page: 11 13 +11 12 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 +b(11)195 183 y Fm(#"\\M-\\C-[B":)165 b(next-history)195 +287 y(C-q:)23 b(quoted-insert)195 391 y($endif)195 495 +y(#)h(An)f(old-style)g(binding.)47 b(This)23 b(happens)g(to)g(be)h(the) +f(default.)195 546 y(TAB:)g(complete)195 650 y(#)h(Macros)f(that)g(are) +h(convenient)e(for)h(shell)h(interaction)195 702 y($if)f(Bash)195 +754 y(#)h(edit)f(the)g(path)195 806 y("\\C-xp":)g +("PATH=${PATH}\\e\\C-e\\C-a\\)o(ef\\C-f")195 858 y(#)h(prepare)f(to)g +(type)h(a)f(quoted)g(word)h(--)f(insert)g(open)h(and)f(close)g(double)g +(quotes)195 910 y(#)h(and)f(move)g(to)h(just)f(after)h(the)f(open)g +(quote)195 962 y("\\C-x\\"":)g("\\"\\"\\C-b")195 1013 +y(#)h(insert)f(a)g(backslash)g(\(testing)g(backslash)g(escapes)f(in)i +(sequences)f(and)g(macros\))195 1065 y("\\C-x\\\\":)g("\\\\")195 +1117 y(#)h(Quote)f(the)g(current)g(or)h(previous)f(word)195 +1169 y("\\C-xq":)g("\\eb\\"\\ef\\"")195 1221 y(#)h(Add)f(a)h(binding)f +(to)g(refresh)g(the)h(line,)f(which)g(is)h(unbound)195 +1273 y("\\C-xr":)f(redraw-current-line)195 1325 y(#)h(Edit)f(variable)g +(on)g(current)g(line.)195 1377 y("\\M-\\C-v":)f +("\\C-a\\C-k$\\C-y\\M-\\C-e\\C-a\\C-y=)o(")195 1429 y($endif)195 +1532 y(#)i(use)f(a)h(visible)f(bell)g(if)h(one)f(is)h(available)195 +1584 y(set)f(bell-style)g(visible)195 1688 y(#)h(don't)f(strip)g +(characters)g(to)g(7)h(bits)f(when)h(reading)195 1740 +y(set)f(input-meta)g(on)195 1844 y(#)h(allow)f(iso-latin1)f(characters) +h(to)g(be)h(inserted)f(rather)g(than)g(converted)g(to)195 +1896 y(#)h(prefix-meta)e(sequences)195 1947 y(set)h(convert-meta)g(off) +195 2051 y(#)h(display)f(characters)f(with)h(the)h(eighth)f(bit)g(set)h +(directly)f(rather)g(than)195 2103 y(#)h(as)f(meta-prefixed)f +(characters)195 2155 y(set)h(output-meta)g(on)195 2259 +y(#)h(if)f(there)g(are)h(more)f(than)h(150)f(possible)g(completions)f +(for)i(a)f(word,)h(ask)f(the)195 2311 y(#)h(user)f(if)h(he)f(wants)g +(to)h(see)f(all)h(of)f(them)195 2363 y(set)g(completion-query-items)e +(150)195 2466 y(#)j(For)f(FTP)195 2518 y($if)g(Ftp)195 +2570 y("\\C-xg":)g("get)g(\\M-?")195 2622 y("\\C-xt":)g("put)g(\\M-?")p +eop +%%Page: 12 14 +12 13 bop 75 -58 a Fn(12)1299 b(GNU)15 b(Readline)i(Library)195 +183 y Fm("\\M-.":)23 b(yank-last-arg)195 235 y($endif)75 +359 y Fl(1.4)33 b(Bindable)24 b(Readline)f(Commands)137 +453 y Fn(This)16 b(section)g(describ)q(es)h(Readline)g(commands)e(that) +g(ma)o(y)f(b)q(e)i(b)q(ound)g(to)f(k)o(ey)g(sequences.)137 +519 y(Command)j(names)g(without)h(an)f(accompan)o(ying)g(k)o(ey)g +(sequence)i(are)e(un)o(b)q(ound)h(b)o(y)g(default.)29 +b(In)75 573 y(the)15 b(follo)o(wing)h(descriptions,)g +Ff(p)q(oin)o(t)h Fn(refers)e(to)f(the)i(curren)o(t)f(cursor)f(p)q +(osition,)i(and)g Ff(mark)h Fn(refers)e(to)f(a)75 628 +y(cursor)h(p)q(osition)h(sa)o(v)o(ed)e(b)o(y)h(the)g +Fm(set-mark)f Fn(command.)20 b(The)15 b(text)g(b)q(et)o(w)o(een)g(the)g +(p)q(oin)o(t)h(and)f(mark)f(is)75 683 y(referred)h(to)g(as)g(the)g +Ff(region)p Fn(.)75 790 y Fe(1.4.1)30 b(Commands)21 b(F)-5 +b(or)19 b(Mo)n(ving)75 895 y Fm(beginning-of-line)13 +b(\(C-a\))315 950 y Fn(Mo)o(v)o(e)h(to)h(the)g(start)f(of)h(the)g +(curren)o(t)g(line.)75 1026 y Fm(end-of-line)f(\(C-e\))315 +1081 y Fn(Mo)o(v)o(e)g(to)h(the)g(end)h(of)f(the)g(line.)75 +1157 y Fm(forward-char)f(\(C-f\))315 1212 y Fn(Mo)o(v)o(e)g(forw)o(ard) +g(a)h(c)o(haracter.)75 1288 y Fm(backward-char)e(\(C-b\))315 +1343 y Fn(Mo)o(v)o(e)h(bac)o(k)h(a)g(c)o(haracter.)75 +1419 y Fm(forward-word)f(\(M-f\))315 1474 y Fn(Mo)o(v)o(e)g(forw)o(ard) +g(to)g(the)i(end)g(of)e(the)h(next)h(w)o(ord.)j(W)l(ords)c(are)f(comp)q +(osed)i(of)f(letters)g(and)315 1529 y(digits.)75 1605 +y Fm(backward-word)e(\(M-b\))315 1660 y Fn(Mo)o(v)o(e)j(bac)o(k)g(to)h +(the)f(start)g(of)g(the)h(curren)o(t)g(or)f(previous)i(w)o(ord.)24 +b(W)l(ords)16 b(are)h(comp)q(osed)315 1715 y(of)e(letters)g(and)g +(digits.)75 1791 y Fm(clear-screen)f(\(C-l\))315 1846 +y Fn(Clear)f(the)h(screen)g(and)f(redra)o(w)g(the)g(curren)o(t)g(line,) +i(lea)o(ving)g(the)e(curren)o(t)g(line)i(at)e(the)g(top)315 +1900 y(of)i(the)g(screen.)75 1977 y Fm(redraw-current-line)e(\(\))315 +2031 y Fn(Refresh)j(the)f(curren)o(t)g(line.)22 b(By)15 +b(default,)h(this)f(is)h(un)o(b)q(ound.)75 2138 y Fe(1.4.2)30 +b(Commands)21 b(F)-5 b(or)19 b(Manipulating)i(The)f(History)75 +2244 y Fm(accept-line)14 b(\(Newline,)g(Return\))315 +2298 y Fn(Accept)h(the)g(line)i(regardless)e(of)g(where)g(the)g(cursor) +f(is.)20 b(If)c(this)f(line)h(is)g(non-empt)o(y)l(,)f(add)315 +2353 y(it)f(to)g(the)g(history)g(list.)20 b(If)14 b(this)h(line)g(w)o +(as)e(a)h(history)g(line,)i(then)e(restore)f(the)h(history)g(line)315 +2408 y(to)h(its)g(original)h(state.)75 2484 y Fm(previous-history)d +(\(C-p\))315 2539 y Fn(Mo)o(v)o(e)h(`up')h(through)g(the)g(history)g +(list.)75 2615 y Fm(next-history)f(\(C-n\))315 2670 y +Fn(Mo)o(v)o(e)g(`do)o(wn')g(through)h(the)h(history)f(list.)p +eop +%%Page: 13 15 +13 14 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 +b(13)75 183 y Fm(beginning-of-history)12 b(\(M-<\))315 +238 y Fn(Mo)o(v)o(e)i(to)h(the)g(\014rst)g(line)i(in)f(the)f(history)l +(.)75 314 y Fm(end-of-history)e(\(M->\))315 369 y Fn(Mo)o(v)o(e)h(to)h +(the)g(end)h(of)f(the)g(input)h(history)l(,)f(i.e.,)g(the)g(line)i +(curren)o(tly)f(b)q(eing)g(en)o(tered.)75 445 y Fm +(reverse-search-history)c(\(C-r\))315 500 y Fn(Searc)o(h)k(bac)o(kw)o +(ard)e(starting)h(at)g(the)h(curren)o(t)f(line)j(and)d(mo)o(ving)h +(`up')f(through)g(the)h(his-)315 555 y(tory)e(as)h(necessary)l(.)20 +b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 631 +y Fm(forward-search-history)c(\(C-s\))315 686 y Fn(Searc)o(h)j(forw)o +(ard)e(starting)h(at)h(the)f(curren)o(t)h(line)h(and)f(mo)o(ving)g(`do) +o(wn')f(through)g(the)h(the)315 741 y(history)g(as)g(necessary)l(.)20 +b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 817 +y Fm(non-incremental-reverse-se)o(arch-hi)o(story)c(\(M-p\))315 +872 y Fn(Searc)o(h)k(bac)o(kw)o(ard)e(starting)h(at)g(the)h(curren)o(t) +f(line)j(and)d(mo)o(ving)h(`up')f(through)g(the)h(his-)315 +926 y(tory)h(as)h(necessary)g(using)h(a)e(non-incremen)o(tal)j(searc)o +(h)e(for)f(a)h(string)g(supplied)i(b)o(y)e(the)315 981 +y(user.)75 1057 y Fm(non-incremental-forward-se)o(arch-hi)o(story)12 +b(\(M-n\))315 1112 y Fn(Searc)o(h)j(forw)o(ard)e(starting)h(at)h(the)f +(curren)o(t)h(line)h(and)f(mo)o(ving)g(`do)o(wn')f(through)g(the)h(the) +315 1167 y(history)e(as)g(necessary)h(using)g(a)f(non-incremen)o(tal)i +(searc)o(h)e(for)g(a)g(string)g(supplied)j(b)o(y)d(the)315 +1222 y(user.)75 1298 y Fm(history-search-forward)f(\(\))315 +1353 y Fn(Searc)o(h)21 b(forw)o(ard)e(through)i(the)f(history)h(for)f +(the)h(string)g(of)f(c)o(haracters)g(b)q(et)o(w)o(een)h(the)315 +1407 y(start)16 b(of)h(the)h(curren)o(t)g(line)h(and)e(the)h(p)q(oin)o +(t.)28 b(This)18 b(is)g(a)f(non-incremen)o(tal)i(searc)o(h.)27 +b(By)315 1462 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 +1538 y Fm(history-search-backward)c(\(\))315 1593 y Fn(Searc)o(h)18 +b(bac)o(kw)o(ard)e(through)h(the)h(history)f(for)g(the)g(string)h(of)f +(c)o(haracters)f(b)q(et)o(w)o(een)i(the)315 1648 y(start)e(of)h(the)h +(curren)o(t)g(line)h(and)e(the)h(p)q(oin)o(t.)28 b(This)18 +b(is)g(a)f(non-incremen)o(tal)i(searc)o(h.)27 b(By)315 +1703 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 +1779 y Fm(yank-nth-arg)e(\(M-C-y\))315 1834 y Fn(Insert)f(the)g +(\014rst)g(argumen)o(t)f(to)g(the)i(previous)f(command)g(\(usually)h +(the)f(second)h(w)o(ord)e(on)315 1889 y(the)i(previous)i(line\).)21 +b(With)14 b(an)h(argumen)o(t)e Ff(n)p Fn(,)i(insert)f(the)h +Ff(n)p Fn(th)f(w)o(ord)g(from)g(the)g(previous)315 1943 +y(command)f(\(the)h(w)o(ords)f(in)h(the)g(previous)g(command)g(b)q +(egin)h(with)f(w)o(ord)e(0\).)19 b(A)14 b(negativ)o(e)315 +1998 y(argumen)o(t)g(inserts)i(the)f Ff(n)p Fn(th)h(w)o(ord)e(from)h +(the)g(end)h(of)e(the)i(previous)g(command.)75 2074 y +Fm(yank-last-arg)d(\(M-.,)i(M-_\))315 2129 y Fn(Insert)j(last)f +(argumen)o(t)g(to)g(the)g(previous)i(command)e(\(the)g(last)h(w)o(ord)f +(of)g(the)g(previous)315 2184 y(history)e(en)o(try\).)20 +b(With)15 b(an)g(argumen)o(t,)g(b)q(eha)o(v)o(e)g(exactly)h(lik)o(e)g +Fm(yank-nth-arg)p Fn(.)j(Succes-)315 2239 y(siv)o(e)f(calls)g(to)f +Fm(yank-last-arg)e Fn(mo)o(v)o(e)i(bac)o(k)g(through)g(the)g(history)g +(list,)i(inserting)f(the)315 2294 y(last)d(argumen)o(t)g(of)f(eac)o(h)i +(line)g(in)g(turn.)75 2400 y Fe(1.4.3)30 b(Commands)21 +b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75 2506 y Fm(delete-char)14 +b(\(C-d\))315 2560 y Fn(Delete)j(the)f(c)o(haracter)g(under)h(the)f +(cursor.)23 b(If)16 b(the)h(cursor)f(is)h(at)e(the)i(b)q(eginning)h(of) +e(the)315 2615 y(line,)j(there)e(are)g(no)g(c)o(haracters)f(in)i(the)g +(line,)h(and)e(the)g(last)g(c)o(haracter)g(t)o(yp)q(ed)g(w)o(as)f(not) +315 2670 y(b)q(ound)g(to)f Fm(delete-char)p Fn(,)e(then)j(return)f +Fm(EOF)p Fn(.)p eop +%%Page: 14 16 +14 15 bop 75 -58 a Fn(14)1299 b(GNU)15 b(Readline)i(Library)75 +183 y Fm(backward-delete-char)12 b(\(Rubout\))315 238 +y Fn(Delete)k(the)f(c)o(haracter)f(b)q(ehind)j(the)f(cursor.)j(A)c(n)o +(umeric)h(argumen)o(t)e(means)i(to)e(kill)j(the)315 293 +y(c)o(haracters)d(instead)i(of)f(deleting)i(them.)75 +378 y Fm(forward-backward-delete-ch)o(ar)12 b(\(\))315 +432 y Fn(Delete)20 b(the)f(c)o(haracter)f(under)i(the)f(cursor,)h +(unless)g(the)f(cursor)g(is)h(at)e(the)h(end)h(of)f(the)315 +487 y(line,)e(in)g(whic)o(h)g(case)e(the)h(c)o(haracter)g(b)q(ehind)h +(the)f(cursor)g(is)g(deleted.)23 b(By)16 b(default,)h(this)315 +542 y(is)f(not)f(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 627 +y Fm(quoted-insert)e(\(C-q,)i(C-v\))315 682 y Fn(Add)j(the)f(next)g(c)o +(haracter)g(t)o(yp)q(ed)g(to)f(the)i(line)g(v)o(erbatim.)26 +b(This)18 b(is)f(ho)o(w)g(to)g(insert)g(k)o(ey)315 736 +y(sequences)f(lik)o(e)605 734 y Fh(h)p 617 708 56 2 v +617 736 a Fg(C-q)p 617 744 V 671 734 a Fh(i)685 736 y +Fn(,)f(for)g(example.)75 821 y Fm(tab-insert)f(\(M-TAB\))315 +876 y Fn(Insert)h(a)g(tab)g(c)o(haracter.)75 961 y Fm(self-insert)f +(\(a,)g(b,)h(A,)g(1,)g(!,)g(...\))315 1016 y Fn(Insert)g(y)o(ourself.) +75 1100 y Fm(transpose-chars)e(\(C-t\))315 1155 y Fn(Drag)i(the)h(c)o +(haracter)f(b)q(efore)h(the)h(cursor)e(forw)o(ard)g(o)o(v)o(er)g(the)h +(c)o(haracter)f(at)h(the)g(cursor,)315 1210 y(mo)o(ving)i(the)f(cursor) +h(forw)o(ard)e(as)i(w)o(ell.)28 b(If)18 b(the)g(insertion)h(p)q(oin)o +(t)f(is)g(at)f(the)h(end)h(of)e(the)315 1265 y(line,)c(then)e(this)h +(transp)q(oses)e(the)h(last)g(t)o(w)o(o)f(c)o(haracters)g(of)h(the)g +(line.)20 b(Negativ)o(e)11 b(argumen)o(ts)315 1320 y(ha)o(v)o(e)k(no)g +(e\013ect.)75 1404 y Fm(transpose-words)e(\(M-t\))315 +1459 y Fn(Drag)i(the)h(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)h(past)f(the)g +(w)o(ord)f(after)h(p)q(oin)o(t,)g(mo)o(ving)g(p)q(oin)o(t)h(past)f +(that)315 1514 y(w)o(ord)f(as)f(w)o(ell.)75 1599 y Fm(upcase-word)g +(\(M-u\))315 1654 y Fn(Upp)q(ercase)j(the)f(curren)o(t)g(\(or)f(follo)o +(wing\))h(w)o(ord.)22 b(With)16 b(a)g(negativ)o(e)g(argumen)o(t,)f(upp) +q(er-)315 1708 y(case)g(the)g(previous)h(w)o(ord,)f(but)g(do)g(not)g +(mo)o(v)o(e)f(the)i(cursor.)75 1793 y Fm(downcase-word)d(\(M-l\))315 +1848 y Fn(Lo)o(w)o(ercase)d(the)h(curren)o(t)g(\(or)f(follo)o(wing\))h +(w)o(ord.)17 b(With)11 b(a)g(negativ)o(e)g(argumen)o(t,)f(lo)o(w)o +(ercase)315 1903 y(the)15 b(previous)h(w)o(ord,)e(but)i(do)f(not)g(mo)o +(v)o(e)f(the)h(cursor.)75 1988 y Fm(capitalize-word)e(\(M-c\))315 +2042 y Fn(Capitalize)f(the)f(curren)o(t)f(\(or)g(follo)o(wing\))h(w)o +(ord.)18 b(With)11 b(a)f(negativ)o(e)h(argumen)o(t,)f(capitalize)315 +2097 y(the)15 b(previous)h(w)o(ord,)e(but)i(do)f(not)g(mo)o(v)o(e)f +(the)h(cursor.)75 2220 y Fe(1.4.4)30 b(Killing)20 b(And)h(Y)-5 +b(anking)75 2336 y Fm(kill-line)14 b(\(C-k\))315 2391 +y Fn(Kill)j(the)f(text)e(from)h(p)q(oin)o(t)h(to)e(the)h(end)h(of)f +(the)g(line.)75 2476 y Fm(backward-kill-line)e(\(C-x)h(Rubout\))315 +2530 y Fn(Kill)j(bac)o(kw)o(ard)e(to)f(the)i(b)q(eginning)h(of)e(the)g +(line.)75 2615 y Fm(unix-line-discard)e(\(C-u\))315 2670 +y Fn(Kill)k(bac)o(kw)o(ard)e(from)f(the)i(cursor)e(to)h(the)g(b)q +(eginning)j(of)c(the)i(curren)o(t)f(line.)p eop +%%Page: 15 17 +15 16 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 +b(15)75 183 y Fm(kill-whole-line)13 b(\(\))315 238 y +Fn(Kill)20 b(all)f(c)o(haracters)e(on)h(the)g(curren)o(t)f(line,)j(no)e +(matter)f(p)q(oin)o(t)h(is.)28 b(By)18 b(default,)h(this)f(is)315 +293 y(un)o(b)q(ound.)75 374 y Fm(kill-word)c(\(M-d\))315 +429 y Fn(Kill)j(from)d(p)q(oin)o(t)h(to)f(the)h(end)g(of)f(the)h +(curren)o(t)g(w)o(ord,)e(or)i(if)g(b)q(et)o(w)o(een)g(w)o(ords,)e(to)i +(the)f(end)315 483 y(of)h(the)g(next)g(w)o(ord.)20 b(W)l(ord)14 +b(b)q(oundaries)j(are)e(the)g(same)g(as)g Fm(forward-word)p +Fn(.)75 564 y Fm(backward-kill-word)e(\(M-DEL\))315 619 +y Fn(Kill)k(the)d(w)o(ord)g(b)q(ehind)i(p)q(oin)o(t.)21 +b(W)l(ord)14 b(b)q(oundaries)h(are)f(the)h(same)f(as)g +Fm(backward-word)p Fn(.)75 700 y Fm(unix-word-rubout)f(\(C-w\))315 +755 y Fn(Kill)18 b(the)e(w)o(ord)f(b)q(ehind)j(p)q(oin)o(t,)e(using)h +(white)f(space)g(as)g(a)f(w)o(ord)g(b)q(oundary)l(.)23 +b(The)16 b(killed)315 810 y(text)f(is)g(sa)o(v)o(ed)g(on)g(the)h +(kill-ring.)75 891 y Fm(delete-horizontal-space)c(\(\))315 +946 y Fn(Delete)k(all)g(spaces)f(and)h(tabs)e(around)i(p)q(oin)o(t.)k +(By)15 b(default,)h(this)f(is)h(un)o(b)q(ound.)75 1027 +y Fm(kill-region)e(\(\))315 1082 y Fn(Kill)j(the)f(text)e(in)i(the)g +(curren)o(t)f(region.)20 b(By)15 b(default,)h(this)f(command)g(is)h(un) +o(b)q(ound.)75 1163 y Fm(copy-region-as-kill)d(\(\))315 +1217 y Fn(Cop)o(y)j(the)i(text)e(in)i(the)f(region)g(to)g(the)g(kill)h +(bu\013er,)f(so)g(it)g(can)g(b)q(e)h(y)o(ank)o(ed)f(righ)o(t)g(a)o(w)o +(a)o(y)l(.)315 1272 y(By)e(default,)h(this)f(command)g(is)h(un)o(b)q +(ound.)75 1353 y Fm(copy-backward-word)d(\(\))315 1408 +y Fn(Cop)o(y)19 b(the)g(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)h(to)e(the)i +(kill)h(bu\013er.)32 b(The)19 b(w)o(ord)g(b)q(oundaries)h(are)f(the)315 +1463 y(same)c(as)g Fm(backward-word)p Fn(.)j(By)d(default,)g(this)h +(command)f(is)h(un)o(b)q(ound.)75 1544 y Fm(copy-forward-word)d(\(\)) +315 1599 y Fn(Cop)o(y)i(the)h(w)o(ord)e(follo)o(wing)j(p)q(oin)o(t)f +(to)f(the)g(kill)j(bu\013er.)i(The)c(w)o(ord)f(b)q(oundaries)i(are)e +(the)315 1653 y(same)g(as)g Fm(forward-word)p Fn(.)j(By)d(default,)h +(this)f(command)g(is)h(un)o(b)q(ound.)75 1734 y Fm(yank)f(\(C-y\))315 +1789 y Fn(Y)l(ank)g(the)h(top)f(of)f(the)i(kill)h(ring)e(in)o(to)g(the) +h(bu\013er)f(at)f(the)i(curren)o(t)f(cursor)g(p)q(osition.)75 +1870 y Fm(yank-pop)f(\(M-y\))315 1925 y Fn(Rotate)j(the)g(kill-ring,)j +(and)d(y)o(ank)g(the)h(new)f(top.)26 b(Y)l(ou)17 b(can)h(only)g(do)f +(this)h(if)f(the)h(prior)315 1980 y(command)d(is)h(y)o(ank)f(or)f(y)o +(ank-p)q(op.)75 2095 y Fe(1.4.5)30 b(Sp)r(ecifying)20 +b(Numeric)h(Argumen)n(ts)75 2205 y Fm(digit-argument)13 +b(\(M-0,)i(M-1,)f(...)h(M--\))315 2260 y Fn(Add)f(this)g(digit)g(to)f +(the)h(argumen)o(t)e(already)i(accum)o(ulating,)g(or)f(start)f(a)h(new) +h(argumen)o(t.)315 2313 y Fh(h)p 327 2287 50 2 v 327 +2315 a Fg(M{)p 327 2323 V 375 2313 a Fh(i)405 2315 y +Fn(starts)g(a)h(negativ)o(e)g(argumen)o(t.)75 2396 y +Fm(universal-argument)e(\(\))315 2451 y Fn(This)g(is)h(another)e(w)o(a) +o(y)g(to)g(sp)q(ecify)i(an)f(argumen)o(t.)18 b(If)13 +b(this)g(command)g(is)g(follo)o(w)o(ed)g(b)o(y)g(one)315 +2506 y(or)h(more)h(digits,)g(optionally)h(with)f(a)g(leading)h(min)o +(us)f(sign,)g(those)g(digits)g(de\014ne)h(the)f(ar-)315 +2560 y(gumen)o(t.)k(If)c(the)g(command)f(is)h(follo)o(w)o(ed)g(b)o(y)g +(digits,)g(executing)g Fm(universal-argument)315 2615 +y Fn(again)h(ends)g(the)g(n)o(umeric)h(argumen)o(t,)e(but)h(is)h +(otherwise)f(ignored.)22 b(As)16 b(a)g(sp)q(ecial)h(case,)315 +2670 y(if)g(this)g(command)f(is)h(immediately)h(follo)o(w)o(ed)f(b)o(y) +f(a)g(c)o(haracter)g(that)g(is)h(neither)g(a)f(digit)p +eop +%%Page: 16 18 +16 17 bop 75 -58 a Fn(16)1299 b(GNU)15 b(Readline)i(Library)315 +183 y(or)c(min)o(us)i(sign,)f(the)g(argumen)o(t)g(coun)o(t)f(for)h(the) +g(next)g(command)g(is)g(m)o(ultiplied)j(b)o(y)d(four.)315 +238 y(The)19 b(argumen)o(t)f(coun)o(t)g(is)h(initially)j(one,)d(so)f +(executing)i(this)f(function)h(the)e(\014rst)h(time)315 +293 y(mak)o(es)c(the)h(argumen)o(t)f(coun)o(t)h(four,)f(a)h(second)g +(time)g(mak)o(es)g(the)g(argumen)o(t)f(coun)o(t)g(six-)315 +348 y(teen,)g(and)g(so)g(on.)20 b(By)15 b(default,)h(this)f(is)h(not)f +(b)q(ound)h(to)f(a)g(k)o(ey)l(.)75 472 y Fe(1.4.6)30 +b(Letting)20 b(Readline)g(T)n(yp)r(e)h(F)-5 b(or)19 b(Y)-5 +b(ou)75 590 y Fm(complete)14 b(\(TAB\))315 644 y Fn(A)o(ttempt)j(to)g +(do)h(completion)g(on)g(the)g(text)f(b)q(efore)h(the)g(cursor.)27 +b(This)18 b(is)g(application-)315 699 y(sp)q(eci\014c.)k(Generally)l(,) +15 b(if)g(y)o(ou)g(are)f(t)o(yping)h(a)g(\014lename)g(argumen)o(t,)f(y) +o(ou)g(can)h(do)g(\014lename)315 754 y(completion;)h(if)g(y)o(ou)f(are) +g(t)o(yping)h(a)f(command,)f(y)o(ou)h(can)h(do)f(command)g(completion;) +h(if)315 809 y(y)o(ou)i(are)g(t)o(yping)g(in)h(a)f(sym)o(b)q(ol)h(to)e +(GDB,)h(y)o(ou)g(can)g(do)g(sym)o(b)q(ol)h(name)f(completion;)i(if)315 +864 y(y)o(ou)13 b(are)g(t)o(yping)g(in)h(a)f(v)m(ariable)h(to)f(Bash,)g +(y)o(ou)g(can)g(do)g(v)m(ariable)h(name)f(completion,)i(and)315 +918 y(so)g(on.)75 1004 y Fm(possible-completions)d(\(M-?\))315 +1059 y Fn(List)k(the)f(p)q(ossible)i(completions)f(of)f(the)g(text)g(b) +q(efore)h(the)f(cursor.)75 1145 y Fm(insert-completions)e(\(M-*\))315 +1199 y Fn(Insert)j(all)g(completions)g(of)f(the)g(text)g(b)q(efore)h(p) +q(oin)o(t)f(that)g(w)o(ould)h(ha)o(v)o(e)f(b)q(een)h(generated)315 +1254 y(b)o(y)f Fm(possible-completions)p Fn(.)75 1340 +y Fm(menu-complete)e(\(\))315 1395 y Fn(Similar)g(to)f +Fm(complete)p Fn(,)f(but)h(replaces)h(the)f(w)o(ord)f(to)g(b)q(e)i +(completed)f(with)h(a)e(single)j(matc)o(h)315 1450 y(from)k(the)h(list) +h(of)e(p)q(ossible)j(completions.)32 b(Rep)q(eated)20 +b(execution)g(of)f Fm(menu-complete)315 1504 y Fn(steps)h(through)g +(the)g(list)h(of)f(p)q(ossible)i(completions,)g(inserting)f(eac)o(h)f +(matc)o(h)f(in)i(turn.)315 1559 y(A)o(t)c(the)g(end)h(of)f(the)h(list)g +(of)f(completions,)i(the)e(b)q(ell)j(is)e(rung)f(and)h(the)f(original)i +(text)d(is)315 1614 y(restored.)26 b(An)17 b(argumen)o(t)g(of)g +Ff(n)g Fn(mo)o(v)o(es)g Ff(n)g Fn(p)q(ositions)h(forw)o(ard)e(in)i(the) +g(list)g(of)f(matc)o(hes;)315 1669 y(a)j(negativ)o(e)g(argumen)o(t)f +(ma)o(y)g(b)q(e)i(used)f(to)f(mo)o(v)o(e)h(bac)o(kw)o(ard)f(through)g +(the)h(list.)35 b(This)315 1724 y(command)15 b(is)h(in)o(tended)g(to)f +(b)q(e)h(b)q(ound)g(to)f Fm(TAB)p Fn(,)f(but)h(is)h(un)o(b)q(ound)g(b)o +(y)f(default.)75 1809 y Fm(delete-char-or-list)e(\(\))315 +1864 y Fn(Deletes)h(the)f(c)o(haracter)g(under)h(the)g(cursor)f(if)h +(not)f(at)g(the)g(b)q(eginning)j(or)d(end)h(of)f(the)g(line)315 +1919 y(\(lik)o(e)i Fm(delete-char)p Fn(\).)j(If)d(at)f(the)h(end)g(of)f +(the)g(line,)i(b)q(eha)o(v)o(es)f(iden)o(tically)i(to)d +Fm(possible-)315 1974 y(completions)p Fn(.)k(This)e(command)f(is)h(un)o +(b)q(ound)g(b)o(y)f(default.)75 2098 y Fe(1.4.7)30 b(Keyb)r(oard)20 +b(Macros)75 2216 y Fm(start-kbd-macro)13 b(\(C-x)i(\(\))315 +2270 y Fn(Begin)h(sa)o(ving)f(the)h(c)o(haracters)e(t)o(yp)q(ed)i(in)o +(to)f(the)g(curren)o(t)g(k)o(eyb)q(oard)g(macro.)75 2356 +y Fm(end-kbd-macro)e(\(C-x)i(\)\))315 2411 y Fn(Stop)f(sa)o(ving)f(the) +h(c)o(haracters)f(t)o(yp)q(ed)h(in)o(to)f(the)h(curren)o(t)g(k)o(eyb)q +(oard)f(macro)g(and)h(sa)o(v)o(e)f(the)315 2466 y(de\014nition.)75 +2552 y Fm(call-last-kbd-macro)g(\(C-x)h(e\))315 2606 +y Fn(Re-execute)19 b(the)f(last)f(k)o(eyb)q(oard)h(macro)f(de\014ned,)i +(b)o(y)e(making)h(the)g(c)o(haracters)e(in)j(the)315 +2661 y(macro)14 b(app)q(ear)i(as)f(if)g(t)o(yp)q(ed)h(at)e(the)i(k)o +(eyb)q(oard.)p eop +%%Page: 17 19 +17 18 bop 75 -58 a Fn(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 +b(17)75 183 y Fe(1.4.8)30 b(Some)20 b(Miscellaneous)h(Commands)75 +298 y Fm(re-read-init-file)13 b(\(C-x)h(C-r\))315 353 +y Fn(Read)e(in)f(the)g(con)o(ten)o(ts)g(of)f(the)h Ff(inputrc)k +Fn(\014le,)d(and)g(incorp)q(orate)f(an)o(y)f(bindings)j(or)e(v)m +(ariable)315 407 y(assignmen)o(ts)k(found)h(there.)75 +491 y Fm(abort)e(\(C-g\))315 546 y Fn(Ab)q(ort)f(the)g(curren)o(t)h +(editing)g(command)f(and)h(ring)f(the)h(terminal's)f(b)q(ell)i(\(sub)s +(ject)e(to)g(the)315 600 y(setting)i(of)g Fm(bell-style)p +Fn(\).)75 684 y Fm(do-uppercase-version)d(\(M-a,)j(M-b,)f(M-)p +Ff(x)p Fm(,)h Fc(:)8 b(:)g(:)n Fm(\))315 739 y Fn(If)14 +b(the)g(meta\014ed)g(c)o(haracter)f Ff(x)k Fn(is)d(lo)o(w)o(ercase,)g +(run)g(the)g(command)f(that)h(is)g(b)q(ound)h(to)e(the)315 +794 y(corresp)q(onding)j(upp)q(ercase)g(c)o(haracter.)75 +877 y Fm(prefix-meta)e(\(ESC\))315 932 y Fn(Mak)o(e)j(the)i(next)f(c)o +(haracter)f(t)o(yp)q(ed)i(b)q(e)g(meta\014ed.)28 b(This)19 +b(is)g(for)e(k)o(eyb)q(oards)h(without)g(a)315 987 y(meta)d(k)o(ey)l(.) +20 b(T)o(yping)15 b(`)p Fm(ESC)g(f)p Fn(')f(is)i(equiv)m(alen)o(t)h(to) +d(t)o(yping)i(`)p Fm(M-f)p Fn('.)75 1070 y Fm(undo)f(\(C-_,)f(C-x)h +(C-u\))315 1125 y Fn(Incremen)o(tal)h(undo,)f(separately)h(remem)o(b)q +(ered)g(for)e(eac)o(h)h(line.)75 1209 y Fm(revert-line)f(\(M-r\))315 +1263 y Fn(Undo)j(all)g(c)o(hanges)g(made)f(to)g(this)h(line.)26 +b(This)17 b(is)g(lik)o(e)h(executing)f(the)g Fm(undo)f +Fn(command)315 1318 y(enough)g(times)f(to)g(get)f(bac)o(k)h(to)g(the)g +(b)q(eginning.)75 1402 y Fm(tilde-expand)f(\(M-~\))315 +1456 y Fn(P)o(erform)g(tilde)j(expansion)f(on)f(the)g(curren)o(t)g(w)o +(ord.)75 1540 y Fm(set-mark)f(\(C-@\))315 1595 y Fn(Set)g(the)f(mark)g +(to)g(the)h(curren)o(t)g(p)q(oin)o(t.)19 b(If)14 b(a)g(n)o(umeric)g +(argumen)o(t)f(is)h(supplied,)i(the)e(mark)315 1650 y(is)i(set)f(to)f +(that)h(p)q(osition.)75 1733 y Fm(exchange-point-and-mark)d(\(C-x)j +(C-x\))315 1788 y Fn(Sw)o(ap)g(the)h(p)q(oin)o(t)g(with)g(the)g(mark.)k +(The)c(curren)o(t)f(cursor)h(p)q(osition)g(is)g(set)g(to)f(the)g(sa)o +(v)o(ed)315 1843 y(p)q(osition,)h(and)f(the)h(old)f(cursor)g(p)q +(osition)h(is)g(sa)o(v)o(ed)f(as)g(the)g(mark.)75 1926 +y Fm(character-search)e(\(C-]\))315 1981 y Fn(A)f(c)o(haracter)g(is)h +(read)g(and)f(p)q(oin)o(t)h(is)g(mo)o(v)o(ed)f(to)g(the)g(next)h(o)q +(ccurrence)g(of)f(that)g(c)o(haracter.)315 2036 y(A)j(negativ)o(e)h +(coun)o(t)f(searc)o(hes)g(for)f(previous)i(o)q(ccurrences.)75 +2119 y Fm(character-search-backward)c(\(M-C-]\))315 2174 +y Fn(A)22 b(c)o(haracter)g(is)h(read)f(and)h(p)q(oin)o(t)g(is)g(mo)o(v) +o(ed)f(to)g(the)g(previous)h(o)q(ccurrence)h(of)e(that)315 +2229 y(c)o(haracter.)d(A)c(negativ)o(e)h(coun)o(t)f(searc)o(hes)g(for)f +(subsequen)o(t)i(o)q(ccurrences.)75 2312 y Fm(insert-comment)d(\(M-#\)) +315 2367 y Fn(The)19 b(v)m(alue)i(of)e(the)g Fm(comment-begin)e +Fn(v)m(ariable)k(is)f(inserted)g(at)e(the)i(b)q(eginning)h(of)e(the)315 +2422 y(curren)o(t)c(line,)i(and)e(the)g(line)i(is)f(accepted)g(as)e(if) +i(a)f(newline)i(had)f(b)q(een)g(t)o(yp)q(ed.)75 2506 +y Fm(dump-functions)d(\(\))315 2560 y Fn(Prin)o(t)g(all)h(of)f(the)g +(functions)h(and)g(their)g(k)o(ey)f(bindings)i(to)d(the)i(Readline)h +(output)e(stream.)315 2615 y(If)j(a)g(n)o(umeric)g(argumen)o(t)f(is)i +(supplied,)h(the)e(output)f(is)i(formatted)d(in)j(suc)o(h)f(a)g(w)o(a)o +(y)f(that)315 2670 y(it)g(can)h(b)q(e)g(made)f(part)f(of)h(an)g +Ff(inputrc)k Fn(\014le.)i(This)16 b(command)f(is)h(un)o(b)q(ound)g(b)o +(y)f(default.)p eop +%%Page: 18 20 +18 19 bop 75 -58 a Fn(18)1299 b(GNU)15 b(Readline)i(Library)75 +183 y Fm(dump-variables)c(\(\))315 238 y Fn(Prin)o(t)e(all)g(of)f(the)h +(settable)g(v)m(ariables)h(and)f(their)g(v)m(alues)h(to)e(the)h +(Readline)i(output)d(stream.)315 293 y(If)16 b(a)g(n)o(umeric)g +(argumen)o(t)f(is)i(supplied,)h(the)e(output)f(is)i(formatted)d(in)j +(suc)o(h)f(a)g(w)o(a)o(y)f(that)315 348 y(it)g(can)h(b)q(e)g(made)f +(part)f(of)h(an)g Ff(inputrc)k Fn(\014le.)i(This)16 b(command)f(is)h +(un)o(b)q(ound)g(b)o(y)f(default.)75 427 y Fm(dump-macros)f(\(\))315 +482 y Fn(Prin)o(t)j(all)h(of)e(the)h(Readline)i(k)o(ey)e(sequences)h(b) +q(ound)g(to)e(macros)g(and)h(the)g(strings)g(they)315 +537 y(ouput.)30 b(If)19 b(a)f(n)o(umeric)i(argumen)o(t)d(is)i +(supplied,)j(the)c(output)h(is)g(formatted)e(in)i(suc)o(h)g(a)315 +592 y(w)o(a)o(y)14 b(that)g(it)i(can)f(b)q(e)g(made)g(part)g(of)f(an)h +Ff(inputrc)k Fn(\014le.)i(This)15 b(command)g(is)h(un)o(b)q(ound)g(b)o +(y)315 647 y(default.)75 775 y Fl(1.5)33 b(Readline)23 +b(vi)h(Mo)r(de)137 871 y Fn(While)13 b(the)f(Readline)j(library)d(do)q +(es)g(not)g(ha)o(v)o(e)f(a)h(full)h(set)f(of)f Fm(vi)g +Fn(editing)j(functions,)f(it)f(do)q(es)g(con)o(tain)75 +926 y(enough)17 b(to)g(allo)o(w)g(simple)h(editing)h(of)d(the)i(line.) +27 b(The)17 b(Readline)i Fm(vi)e Fn(mo)q(de)g(b)q(eha)o(v)o(es)g(as)g +(sp)q(eci\014ed)i(in)75 981 y(the)c Fi(POSIX)h Fn(1003.2)d(standard.) +137 1048 y(In)i(order)g(to)f(switc)o(h)g(in)o(teractiv)o(ely)i(b)q(et)o +(w)o(een)f Fm(emacs)e Fn(and)i Fm(vi)f Fn(editing)i(mo)q(des,)f(use)f +(the)h(command)75 1103 y(M-C-j)g(\(toggle-editing-mo)q(de\).)21 +b(The)15 b(Readline)j(default)d(is)h Fm(emacs)f Fn(mo)q(de.)137 +1170 y(When)h(y)o(ou)e(en)o(ter)h(a)g(line)i(in)e Fm(vi)g +Fn(mo)q(de,)g(y)o(ou)g(are)f(already)i(placed)g(in)g(`insertion')f(mo)q +(de,)g(as)g(if)g(y)o(ou)75 1225 y(had)e(t)o(yp)q(ed)h(an)f(`)p +Fm(i)p Fn('.)18 b(Pressing)608 1223 y Fh(h)p 620 1197 +70 2 v 620 1225 a Fg(ESC)p 620 1233 V 687 1223 a Fh(i)715 +1225 y Fn(switc)o(hes)13 b(y)o(ou)g(in)o(to)g(`command')f(mo)q(de,)i +(where)f(y)o(ou)g(can)g(edit)h(the)75 1280 y(text)i(of)h(the)g(line)h +(with)g(the)f(standard)f Fm(vi)h Fn(mo)o(v)o(emen)o(t)f(k)o(eys,)g(mo)o +(v)o(e)g(to)h(previous)g(history)g(lines)i(with)75 1335 +y(`)p Fm(k)p Fn(')14 b(and)i(subsequen)o(t)f(lines)i(with)f(`)p +Fm(j)p Fn(',)e(and)h(so)g(forth.)p eop +%%Page: -1 21 +-1 20 bop 1862 -58 a Fn(i)75 183 y Fj(T)-7 b(able)27 +b(of)f(Con)n(ten)n(ts)75 354 y Fl(1)67 b(Command)22 b(Line)i(Editing)d +Fb(.)10 b(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)42 b Fl(1)224 423 y Fn(1.1)j(In)o(tro)q(duction)16 +b(to)f(Line)h(Editing)e Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)27 b Fn(1)224 478 y(1.2)45 b(Readline)17 b(In)o(teraction)8 +b Fa(.)g(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)23 b Fn(1)374 532 y(1.2.1)44 b(Readline)17 +b(Bare)e(Essen)o(tials)f Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 +b Fn(1)374 587 y(1.2.2)44 b(Readline)17 b(Mo)o(v)o(emen)o(t)d(Commands) +7 b Fa(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)21 b Fn(2)374 642 y(1.2.3)44 b(Readline)17 b(Killing)h(Commands) +11 b Fa(.)c(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h +(.)f(.)h(.)f(.)h(.)25 b Fn(2)374 697 y(1.2.4)44 b(Readline)17 +b(Argumen)o(ts)12 b Fa(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 +b Fn(3)374 752 y(1.2.5)44 b(Searc)o(hing)16 b(for)e(Commands)h(in)h +(the)f(History)e Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 +b Fn(3)224 806 y(1.3)45 b(Readline)17 b(Init)g(File)e +Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)f(.)29 b Fn(4)374 861 y(1.3.1)44 b(Readline)17 +b(Init)f(File)h(Syn)o(tax)7 b Fa(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 +b Fn(4)374 916 y(1.3.2)44 b(Conditional)16 b(Init)g(Constructs)5 +b Fa(.)i(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)g(.)f(.)19 b Fn(8)374 971 y(1.3.3)44 b(Sample)16 +b(Init)g(File)11 b Fa(.)e(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)26 b Fn(9)224 1026 y(1.4)45 b(Bindable)17 b(Readline)h +(Commands)6 b Fa(.)h(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 +b Fn(12)374 1080 y(1.4.1)44 b(Commands)14 b(F)l(or)h(Mo)o(ving)e +Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 b Fn(12)374 1135 y(1.4.2)44 +b(Commands)14 b(F)l(or)h(Manipulating)i(The)e(History)9 +b Fa(.)e(.)h(.)f(.)h(.)f(.)h(.)24 b Fn(12)374 1190 y(1.4.3)44 +b(Commands)14 b(F)l(or)h(Changing)h(T)l(ext)e Fa(.)8 +b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 +b Fn(13)374 1245 y(1.4.4)44 b(Killing)18 b(And)e(Y)l(anking)9 +b Fa(.)e(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)24 b Fn(14)374 +1299 y(1.4.5)44 b(Sp)q(ecifying)17 b(Numeric)f(Argumen)o(ts)c +Fa(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)27 +b Fn(15)374 1354 y(1.4.6)44 b(Letting)15 b(Readline)j(T)o(yp)q(e)d(F)l +(or)g(Y)l(ou)10 b Fa(.)d(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +h(.)f(.)h(.)f(.)25 b Fn(16)374 1409 y(1.4.7)44 b(Keyb)q(oard)15 +b(Macros)6 b Fa(.)h(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 +b Fn(16)374 1464 y(1.4.8)44 b(Some)15 b(Miscellaneous)i(Commands)7 +b Fa(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) +22 b Fn(17)224 1519 y(1.5)45 b(Readline)17 b(vi)f(Mo)q(de)e +Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) +f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)f(.)h(.)28 b Fn(18)p eop +%%Page: -2 22 +-2 21 bop 75 -58 a Fn(ii)1321 b(GNU)15 b(Readline)i(Library)p +eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/readline/doc/rluserman.texinfo b/readline/doc/rluserman.texinfo new file mode 100644 index 00000000000..e6a3dcde2a9 --- /dev/null +++ b/readline/doc/rluserman.texinfo @@ -0,0 +1,94 @@ +\input texinfo @c -*-texinfo-*- +@comment %**start of header (This is for running Texinfo on a region.) +@setfilename rluserman.info +@settitle GNU Readline Library +@comment %**end of header (This is for running Texinfo on a region.) +@setchapternewpage odd + +@include manvers.texinfo + +@ifinfo +@dircategory Libraries +@direntry +* Readline: (readline). The GNU readline library API +@end direntry + +This document describes the end user interface of the GNU Readline Library, +a utility which aids in the consistency of user interface across discrete +programs that need to provide a command line interface. + +Copyright (C) 1988-1999 Free Software Foundation, Inc. + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +pare preserved on all copies. + +@ignore +Permission is granted to process this file through TeX and print the +results, provided the printed document carries copying permission +notice identical to this one except for the removal of this paragraph +(this paragraph not being relevant to the printed manual). +@end ignore + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by the Free Software Foundation. +@end ifinfo + +@titlepage +@title GNU Readline Library User Interface +@subtitle Edition @value{EDITION}, for @code{Readline Library} Version @value{VERSION}. +@subtitle @value{UPDATE-MONTH} +@author Brian Fox, Free Software Foundation +@author Chet Ramey, Case Western Reserve University + +@page +This document describes the end user interface of the GNU Readline Library, +a utility which aids in the consistency of user interface across discrete +programs that need to provide a command line interface. + +Published by the Free Software Foundation @* +59 Temple Place, Suite 330, @* +Boston, MA 02111 USA + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by the Free Software Foundation. + +@vskip 0pt plus 1filll +Copyright @copyright{} 1988-1999 Free Software Foundation, Inc. +@end titlepage + +@ifinfo +@node Top +@top GNU Readline Library + +This document describes the end user interface of the GNU Readline Library, +a utility which aids in the consistency of user interface across discrete +programs that need to provide a command line interface. + +@menu +* Command Line Editing:: GNU Readline User's Manual. +@end menu +@end ifinfo + +@include rluser.texinfo + +@contents +@bye -- cgit v1.2.1