Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / html / rluserman.html
CommitLineData
920dae64
AT
1<HTML>
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3<!-- Created on July, 27 2004 by texi2html 1.64 -->
4<!--
5Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
6 Karl Berry <karl@freefriends.org>
7 Olaf Bachmann <obachman@mathematik.uni-kl.de>
8 and many others.
9Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
10Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
11
12-->
13<HEAD>
14<TITLE>GNU Readline Library: </TITLE>
15
16<META NAME="description" CONTENT="GNU Readline Library: ">
17<META NAME="keywords" CONTENT="GNU Readline Library: ">
18<META NAME="resource-type" CONTENT="document">
19<META NAME="distribution" CONTENT="global">
20<META NAME="Generator" CONTENT="texi2html 1.64">
21
22</HEAD>
23
24<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
25
26<A NAME="SEC_Top"></A>
27<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
28<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
29<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
30<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
31<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
32</TR></TABLE>
33<H1>GNU Readline Library</H1></P><P>
34
35This document describes the end user interface of the GNU Readline Library,
36a utility which aids in the consistency of user interface across discrete
37programs which provide a command line interface.
38</P><P>
39
40<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
41<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC1">1. Command Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">GNU Readline User's Manual.</TD></TR>
42<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC23">A. Copying This Manual</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
43</TABLE></BLOCKQUOTE>
44<P>
45
46<HR SIZE=1>
47<A NAME="SEC1"></A>
48<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
49<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top"> &lt; </A>]</TD>
50<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC2"> &gt; </A>]</TD>
51<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
52<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top"> Up </A>]</TD>
53<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &gt;&gt; </A>]</TD>
54<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
55<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
56<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
57<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
58</TR></TABLE>
59<A NAME="Command Line Editing"></A>
60<H1> 1. Command Line Editing </H1>
61<!--docid::SEC1::-->
62<P>
63
64This chapter describes the basic features of the GNU
65command line editing interface.
66</P><P>
67
68<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
69<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC2">1.1 Introduction to Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Notation used in this text.</TD></TR>
70<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC3">1.2 Readline Interaction</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The minimum set of commands for editing a line.</TD></TR>
71<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC9">1.3 Readline Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Customizing Readline from a user's view.</TD></TR>
72<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC13">1.4 Bindable Readline Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A description of most of the Readline commands
73 available for binding</TD></TR>
74<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC22">1.5 Readline vi Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A short description of how to make Readline
75 behave like the vi editor.</TD></TR>
76</TABLE></BLOCKQUOTE>
77<P>
78
79<A NAME="Introduction and Notation"></A>
80<HR SIZE="6">
81<A NAME="SEC2"></A>
82<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
83<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> &lt; </A>]</TD>
84<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> &gt; </A>]</TD>
85<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
86<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> Up </A>]</TD>
87<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &gt;&gt; </A>]</TD>
88<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
89<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
90<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
91<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
92</TR></TABLE>
93<H2> 1.1 Introduction to Line Editing </H2>
94<!--docid::SEC2::-->
95<P>
96
97The following paragraphs describe the notation used to represent
98keystrokes.
99</P><P>
100
101The text <KBD>C-k</KBD> is read as `Control-K' and describes the character
102produced when the <KBD>k</KBD> key is pressed while the Control key
103is depressed.
104</P><P>
105
106The text <KBD>M-k</KBD> is read as `Meta-K' and describes the character
107produced when the Meta key (if you have one) is depressed, and the <KBD>k</KBD>
108key is pressed.
109The Meta key is labeled <KBD>ALT</KBD> on many keyboards.
110On keyboards with two keys labeled <KBD>ALT</KBD> (usually to either side of
111the space bar), the <KBD>ALT</KBD> on the left side is generally set to
112work as a Meta key.
113The <KBD>ALT</KBD> key on the right may also be configured to work as a
114Meta key or may be configured as some other modifier, such as a
115Compose key for typing accented characters.
116</P><P>
117
118If you do not have a Meta or <KBD>ALT</KBD> key, or another key working as
119a Meta key, the identical keystroke can be generated by typing <KBD>ESC</KBD>
120<EM>first</EM>, and then typing <KBD>k</KBD>.
121Either process is known as <EM>metafying</EM> the <KBD>k</KBD> key.
122</P><P>
123
124The text <KBD>M-C-k</KBD> is read as `Meta-Control-k' and describes the
125character produced by <EM>metafying</EM> <KBD>C-k</KBD>.
126</P><P>
127
128In addition, several keys have their own names. Specifically,
129<KBD>DEL</KBD>, <KBD>ESC</KBD>, <KBD>LFD</KBD>, <KBD>SPC</KBD>, <KBD>RET</KBD>, and <KBD>TAB</KBD> all
130stand for themselves when seen in this text, or in an init file
131(see section <A HREF="rluserman.html#SEC9">1.3 Readline Init File</A>).
132If your keyboard lacks a <KBD>LFD</KBD> key, typing <KBD>C-j</KBD> will
133produce the desired character.
134The <KBD>RET</KBD> key may be labeled <KBD>Return</KBD> or <KBD>Enter</KBD> on
135some keyboards.
136</P><P>
137
138<A NAME="Readline Interaction"></A>
139<HR SIZE="6">
140<A NAME="SEC3"></A>
141<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
142<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC2"> &lt; </A>]</TD>
143<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC4"> &gt; </A>]</TD>
144<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </A>]</TD>
145<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> Up </A>]</TD>
146<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
147<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
148<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
149<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
150<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
151</TR></TABLE>
152<H2> 1.2 Readline Interaction </H2>
153<!--docid::SEC3::-->
154<P>
155
156Often during an interactive session you type in a long line of text,
157only to notice that the first word on the line is misspelled. The
158Readline library gives you a set of commands for manipulating the text
159as you type it in, allowing you to just fix your typo, and not forcing
160you to retype the majority of the line. Using these editing commands,
161you move the cursor to the place that needs correction, and delete or
162insert the text of the corrections. Then, when you are satisfied with
163the line, you simply press <KBD>RET</KBD>. You do not have to be at the
164end of the line to press <KBD>RET</KBD>; the entire line is accepted
165regardless of the location of the cursor within the line.
166</P><P>
167
168<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
169<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC4">1.2.1 Readline Bare Essentials</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The least you need to know about Readline.</TD></TR>
170<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC5">1.2.2 Readline Movement Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the input line.</TD></TR>
171<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC6">1.2.3 Readline Killing Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to delete text, and how to get it back!</TD></TR>
172<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC7">1.2.4 Readline Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Giving numeric arguments to commands.</TD></TR>
173<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC8">1.2.5 Searching for Commands in the History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Searching through previous lines.</TD></TR>
174</TABLE></BLOCKQUOTE>
175<P>
176
177<A NAME="Readline Bare Essentials"></A>
178<HR SIZE="6">
179<A NAME="SEC4"></A>
180<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
181<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> &lt; </A>]</TD>
182<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC5"> &gt; </A>]</TD>
183<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </A>]</TD>
184<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> Up </A>]</TD>
185<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
186<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
187<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
188<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
189<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
190</TR></TABLE>
191<H3> 1.2.1 Readline Bare Essentials </H3>
192<!--docid::SEC4::-->
193<P>
194
195In order to enter characters into the line, simply type them. The typed
196character appears where the cursor was, and then the cursor moves one
197space to the right. If you mistype a character, you can use your
198erase character to back up and delete the mistyped character.
199</P><P>
200
201Sometimes you may mistype a character, and
202not notice the error until you have typed several other characters. In
203that case, you can type <KBD>C-b</KBD> to move the cursor to the left, and then
204correct your mistake. Afterwards, you can move the cursor to the right
205with <KBD>C-f</KBD>.
206</P><P>
207
208When you add text in the middle of a line, you will notice that characters
209to the right of the cursor are `pushed over' to make room for the text
210that you have inserted. Likewise, when you delete text behind the cursor,
211characters to the right of the cursor are `pulled back' to fill in the
212blank space created by the removal of the text. A list of the bare
213essentials for editing the text of an input line follows.
214</P><P>
215
216<DL COMPACT>
217<DT><KBD>C-b</KBD>
218<DD>Move back one character.
219<DT><KBD>C-f</KBD>
220<DD>Move forward one character.
221<DT><KBD>DEL</KBD> or <KBD>Backspace</KBD>
222<DD>Delete the character to the left of the cursor.
223<DT><KBD>C-d</KBD>
224<DD>Delete the character underneath the cursor.
225<DT>Printing characters
226<DD>Insert the character into the line at the cursor.
227<DT><KBD>C-_</KBD> or <KBD>C-x C-u</KBD>
228<DD>Undo the last editing command. You can undo all the way back to an
229empty line.
230</DL>
231<P>
232
233(Depending on your configuration, the <KBD>Backspace</KBD> key be set to
234delete the character to the left of the cursor and the <KBD>DEL</KBD> key set
235to delete the character underneath the cursor, like <KBD>C-d</KBD>, rather
236than the character to the left of the cursor.)
237</P><P>
238
239<A NAME="Readline Movement Commands"></A>
240<HR SIZE="6">
241<A NAME="SEC5"></A>
242<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
243<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC4"> &lt; </A>]</TD>
244<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC6"> &gt; </A>]</TD>
245<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC6"> &lt;&lt; </A>]</TD>
246<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> Up </A>]</TD>
247<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
248<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
249<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
250<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
251<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
252</TR></TABLE>
253<H3> 1.2.2 Readline Movement Commands </H3>
254<!--docid::SEC5::-->
255<P>
256
257The above table describes the most basic keystrokes that you need
258in order to do editing of the input line. For your convenience, many
259other commands have been added in addition to <KBD>C-b</KBD>, <KBD>C-f</KBD>,
260<KBD>C-d</KBD>, and <KBD>DEL</KBD>. Here are some commands for moving more rapidly
261about the line.
262</P><P>
263
264<DL COMPACT>
265<DT><KBD>C-a</KBD>
266<DD>Move to the start of the line.
267<DT><KBD>C-e</KBD>
268<DD>Move to the end of the line.
269<DT><KBD>M-f</KBD>
270<DD>Move forward a word, where a word is composed of letters and digits.
271<DT><KBD>M-b</KBD>
272<DD>Move backward a word.
273<DT><KBD>C-l</KBD>
274<DD>Clear the screen, reprinting the current line at the top.
275</DL>
276<P>
277
278Notice how <KBD>C-f</KBD> moves forward a character, while <KBD>M-f</KBD> moves
279forward a word. It is a loose convention that control keystrokes
280operate on characters while meta keystrokes operate on words.
281</P><P>
282
283<A NAME="Readline Killing Commands"></A>
284<HR SIZE="6">
285<A NAME="SEC6"></A>
286<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
287<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC5"> &lt; </A>]</TD>
288<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC7"> &gt; </A>]</TD>
289<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC7"> &lt;&lt; </A>]</TD>
290<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> Up </A>]</TD>
291<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
292<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
293<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
294<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
295<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
296</TR></TABLE>
297<H3> 1.2.3 Readline Killing Commands </H3>
298<!--docid::SEC6::-->
299<P>
300
301<A NAME="IDX1"></A>
302<A NAME="IDX2"></A>
303</P><P>
304
305<EM>Killing</EM> text means to delete the text from the line, but to save
306it away for later use, usually by <EM>yanking</EM> (re-inserting)
307it back into the line.
308(`Cut' and `paste' are more recent jargon for `kill' and `yank'.)
309</P><P>
310
311If the description for a command says that it `kills' text, then you can
312be sure that you can get the text back in a different (or the same)
313place later.
314</P><P>
315
316When you use a kill command, the text is saved in a <EM>kill-ring</EM>.
317Any number of consecutive kills save all of the killed text together, so
318that when you yank it back, you get it all. The kill
319ring is not line specific; the text that you killed on a previously
320typed line is available to be yanked back later, when you are typing
321another line.
322<A NAME="IDX3"></A>
323</P><P>
324
325Here is the list of commands for killing text.
326</P><P>
327
328<DL COMPACT>
329<DT><KBD>C-k</KBD>
330<DD>Kill the text from the current cursor position to the end of the line.
331<P>
332
333<DT><KBD>M-d</KBD>
334<DD>Kill from the cursor to the end of the current word, or, if between
335words, to the end of the next word.
336Word boundaries are the same as those used by <KBD>M-f</KBD>.
337<P>
338
339<DT><KBD>M-<KBD>DEL</KBD></KBD>
340<DD>Kill from the cursor the start of the current word, or, if between
341words, to the start of the previous word.
342Word boundaries are the same as those used by <KBD>M-b</KBD>.
343<P>
344
345<DT><KBD>C-w</KBD>
346<DD>Kill from the cursor to the previous whitespace. This is different than
347<KBD>M-<KBD>DEL</KBD></KBD> because the word boundaries differ.
348<P>
349
350</DL>
351<P>
352
353Here is how to <EM>yank</EM> the text back into the line. Yanking
354means to copy the most-recently-killed text from the kill buffer.
355</P><P>
356
357<DL COMPACT>
358<DT><KBD>C-y</KBD>
359<DD>Yank the most recently killed text back into the buffer at the cursor.
360<P>
361
362<DT><KBD>M-y</KBD>
363<DD>Rotate the kill-ring, and yank the new top. You can only do this if
364the prior command is <KBD>C-y</KBD> or <KBD>M-y</KBD>.
365</DL>
366<P>
367
368<A NAME="Readline Arguments"></A>
369<HR SIZE="6">
370<A NAME="SEC7"></A>
371<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
372<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC6"> &lt; </A>]</TD>
373<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC8"> &gt; </A>]</TD>
374<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC8"> &lt;&lt; </A>]</TD>
375<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> Up </A>]</TD>
376<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
377<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
378<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
379<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
380<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
381</TR></TABLE>
382<H3> 1.2.4 Readline Arguments </H3>
383<!--docid::SEC7::-->
384<P>
385
386You can pass numeric arguments to Readline commands. Sometimes the
387argument acts as a repeat count, other times it is the <I>sign</I> of the
388argument that is significant. If you pass a negative argument to a
389command which normally acts in a forward direction, that command will
390act in a backward direction. For example, to kill text back to the
391start of the line, you might type <SAMP>`M-- C-k'</SAMP>.
392</P><P>
393
394The general way to pass numeric arguments to a command is to type meta
395digits before the command. If the first `digit' typed is a minus
396sign (<SAMP>`-'</SAMP>), then the sign of the argument will be negative. Once
397you have typed one meta digit to get the argument started, you can type
398the remainder of the digits, and then the command. For example, to give
399the <KBD>C-d</KBD> command an argument of 10, you could type <SAMP>`M-1 0 C-d'</SAMP>,
400which will delete the next ten characters on the input line.
401</P><P>
402
403<A NAME="Searching"></A>
404<HR SIZE="6">
405<A NAME="SEC8"></A>
406<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
407<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC7"> &lt; </A>]</TD>
408<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt; </A>]</TD>
409<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </A>]</TD>
410<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> Up </A>]</TD>
411<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt;&gt; </A>]</TD>
412<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
413<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
414<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
415<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
416</TR></TABLE>
417<H3> 1.2.5 Searching for Commands in the History </H3>
418<!--docid::SEC8::-->
419<P>
420
421Readline provides commands for searching through the command history
422for lines containing a specified string.
423There are two search modes: <EM>incremental</EM> and <EM>non-incremental</EM>.
424</P><P>
425
426Incremental searches begin before the user has finished typing the
427search string.
428As each character of the search string is typed, Readline displays
429the next entry from the history matching the string typed so far.
430An incremental search requires only as many characters as needed to
431find the desired history entry.
432To search backward in the history for a particular string, type
433<KBD>C-r</KBD>. Typing <KBD>C-s</KBD> searches forward through the history.
434The characters present in the value of the <CODE>isearch-terminators</CODE> variable
435are used to terminate an incremental search.
436If that variable has not been assigned a value, the <KBD>ESC</KBD> and
437<KBD>C-J</KBD> characters will terminate an incremental search.
438<KBD>C-g</KBD> will abort an incremental search and restore the original line.
439When the search is terminated, the history entry containing the
440search string becomes the current line.
441</P><P>
442
443To find other matching entries in the history list, type <KBD>C-r</KBD> or
444<KBD>C-s</KBD> as appropriate.
445This will search backward or forward in the history for the next
446entry matching the search string typed so far.
447Any other key sequence bound to a Readline command will terminate
448the search and execute that command.
449For instance, a <KBD>RET</KBD> will terminate the search and accept
450the line, thereby executing the command from the history list.
451A movement command will terminate the search, make the last line found
452the current line, and begin editing.
453</P><P>
454
455Readline remembers the last incremental search string. If two
456<KBD>C-r</KBD>s are typed without any intervening characters defining a new
457search string, any remembered search string is used.
458</P><P>
459
460Non-incremental searches read the entire search string before starting
461to search for matching history lines. The search string may be
462typed by the user or be part of the contents of the current line.
463</P><P>
464
465<A NAME="Readline Init File"></A>
466<HR SIZE="6">
467<A NAME="SEC9"></A>
468<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
469<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC8"> &lt; </A>]</TD>
470<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC10"> &gt; </A>]</TD>
471<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </A>]</TD>
472<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> Up </A>]</TD>
473<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt;&gt; </A>]</TD>
474<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
475<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
476<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
477<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
478</TR></TABLE>
479<H2> 1.3 Readline Init File </H2>
480<!--docid::SEC9::-->
481<P>
482
483Although the Readline library comes with a set of Emacs-like
484keybindings installed by default, it is possible to use a different set
485of keybindings.
486Any user can customize programs that use Readline by putting
487commands in an <EM>inputrc</EM> file, conventionally in his home directory.
488The name of this
489file is taken from the value of the environment variable <CODE>INPUTRC</CODE>. If
490that variable is unset, the default is <TT>`~/.inputrc'</TT>.
491</P><P>
492
493When a program which uses the Readline library starts up, the
494init file is read, and the key bindings are set.
495</P><P>
496
497In addition, the <CODE>C-x C-r</CODE> command re-reads this init file, thus
498incorporating any changes that you might have made to it.
499</P><P>
500
501<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
502<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC10">1.3.1 Readline Init File Syntax</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Syntax for the commands in the inputrc file.</TD></TR>
503</TABLE>
504
505<br>
506<TABLE BORDER=0 CELLSPACING=0>
507<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC11">1.3.2 Conditional Init Constructs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Conditional key bindings in the inputrc file.</TD></TR>
508</TABLE>
509
510<br>
511<TABLE BORDER=0 CELLSPACING=0>
512<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC12">1.3.3 Sample Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">An example inputrc file.</TD></TR>
513</TABLE></BLOCKQUOTE>
514<P>
515
516<A NAME="Readline Init File Syntax"></A>
517<HR SIZE="6">
518<A NAME="SEC10"></A>
519<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
520<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt; </A>]</TD>
521<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC11"> &gt; </A>]</TD>
522<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </A>]</TD>
523<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> Up </A>]</TD>
524<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt;&gt; </A>]</TD>
525<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
526<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
527<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
528<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
529</TR></TABLE>
530<H3> 1.3.1 Readline Init File Syntax </H3>
531<!--docid::SEC10::-->
532<P>
533
534There are only a few basic constructs allowed in the
535Readline init file. Blank lines are ignored.
536Lines beginning with a <SAMP>`#'</SAMP> are comments.
537Lines beginning with a <SAMP>`$'</SAMP> indicate conditional
538constructs (see section <A HREF="rluserman.html#SEC11">1.3.2 Conditional Init Constructs</A>). Other lines
539denote variable settings and key bindings.
540</P><P>
541
542<DL COMPACT>
543<DT>Variable Settings
544<DD>You can modify the run-time behavior of Readline by
545altering the values of variables in Readline
546using the <CODE>set</CODE> command within the init file.
547The syntax is simple:
548<P>
549
550<TABLE><tr><td>&nbsp;</td><td class=example><pre>set <VAR>variable</VAR> <VAR>value</VAR>
551</pre></td></tr></table></P><P>
552
553Here, for example, is how to
554change from the default Emacs-like key binding to use
555<CODE>vi</CODE> line editing commands:
556</P><P>
557
558<TABLE><tr><td>&nbsp;</td><td class=example><pre>set editing-mode vi
559</pre></td></tr></table></P><P>
560
561Variable names and values, where appropriate, are recognized without regard
562to case.
563</P><P>
564
565A great deal of run-time behavior is changeable with the following
566variables.
567</P><P>
568
569<A NAME="IDX4"></A>
570<DL COMPACT>
571
572<DT><CODE>bell-style</CODE>
573<DD><A NAME="IDX5"></A>
574Controls what happens when Readline wants to ring the terminal bell.
575If set to <SAMP>`none'</SAMP>, Readline never rings the bell. If set to
576<SAMP>`visible'</SAMP>, Readline uses a visible bell if one is available.
577If set to <SAMP>`audible'</SAMP> (the default), Readline attempts to ring
578the terminal's bell.
579<P>
580
581<DT><CODE>comment-begin</CODE>
582<DD><A NAME="IDX6"></A>
583The string to insert at the beginning of the line when the
584<CODE>insert-comment</CODE> command is executed. The default value
585is <CODE>"#"</CODE>.
586<P>
587
588<DT><CODE>completion-ignore-case</CODE>
589<DD>If set to <SAMP>`on'</SAMP>, Readline performs filename matching and completion
590in a case-insensitive fashion.
591The default value is <SAMP>`off'</SAMP>.
592<P>
593
594<DT><CODE>completion-query-items</CODE>
595<DD><A NAME="IDX7"></A>
596The number of possible completions that determines when the user is
597asked whether the list of possibilities should be displayed.
598If the number of possible completions is greater than this value,
599Readline will ask the user whether or not he wishes to view
600them; otherwise, they are simply listed.
601This variable must be set to an integer value greater than or equal to 0.
602The default limit is <CODE>100</CODE>.
603<P>
604
605<DT><CODE>convert-meta</CODE>
606<DD><A NAME="IDX8"></A>
607If set to <SAMP>`on'</SAMP>, Readline will convert characters with the
608eighth bit set to an ASCII key sequence by stripping the eighth
609bit and prefixing an <KBD>ESC</KBD> character, converting them to a
610meta-prefixed key sequence. The default value is <SAMP>`on'</SAMP>.
611<P>
612
613<DT><CODE>disable-completion</CODE>
614<DD><A NAME="IDX9"></A>
615If set to <SAMP>`On'</SAMP>, Readline will inhibit word completion.
616Completion characters will be inserted into the line as if they had
617been mapped to <CODE>self-insert</CODE>. The default is <SAMP>`off'</SAMP>.
618<P>
619
620<DT><CODE>editing-mode</CODE>
621<DD><A NAME="IDX10"></A>
622The <CODE>editing-mode</CODE> variable controls which default set of
623key bindings is used. By default, Readline starts up in Emacs editing
624mode, where the keystrokes are most similar to Emacs. This variable can be
625set to either <SAMP>`emacs'</SAMP> or <SAMP>`vi'</SAMP>.
626<P>
627
628<DT><CODE>enable-keypad</CODE>
629<DD><A NAME="IDX11"></A>
630When set to <SAMP>`on'</SAMP>, Readline will try to enable the application
631keypad when it is called. Some systems need this to enable the
632arrow keys. The default is <SAMP>`off'</SAMP>.
633<P>
634
635<DT><CODE>expand-tilde</CODE>
636<DD><A NAME="IDX12"></A>
637If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
638attempts word completion. The default is <SAMP>`off'</SAMP>.
639<P>
640
641<A NAME="IDX13"></A>
642If set to <SAMP>`on'</SAMP>, the history code attempts to place point at the
643same location on each history line retrieved with <CODE>previous-history</CODE>
644or <CODE>next-history</CODE>.
645</P><P>
646
647<DT><CODE>horizontal-scroll-mode</CODE>
648<DD><A NAME="IDX14"></A>
649This variable can be set to either <SAMP>`on'</SAMP> or <SAMP>`off'</SAMP>. Setting it
650to <SAMP>`on'</SAMP> means that the text of the lines being edited will scroll
651horizontally on a single screen line when they are longer than the width
652of the screen, instead of wrapping onto a new screen line. By default,
653this variable is set to <SAMP>`off'</SAMP>.
654<P>
655
656<DT><CODE>input-meta</CODE>
657<DD><A NAME="IDX15"></A>
658<A NAME="IDX16"></A>
659If set to <SAMP>`on'</SAMP>, Readline will enable eight-bit input (it
660will not clear the eighth bit in the characters it reads),
661regardless of what the terminal claims it can support. The
662default value is <SAMP>`off'</SAMP>. The name <CODE>meta-flag</CODE> is a
663synonym for this variable.
664<P>
665
666<DT><CODE>isearch-terminators</CODE>
667<DD><A NAME="IDX17"></A>
668The string of characters that should terminate an incremental search without
669subsequently executing the character as a command (see section <A HREF="rluserman.html#SEC8">1.2.5 Searching for Commands in the History</A>).
670If this variable has not been given a value, the characters <KBD>ESC</KBD> and
671<KBD>C-J</KBD> will terminate an incremental search.
672<P>
673
674<DT><CODE>keymap</CODE>
675<DD><A NAME="IDX18"></A>
676Sets Readline's idea of the current keymap for key binding commands.
677Acceptable <CODE>keymap</CODE> names are
678<CODE>emacs</CODE>,
679<CODE>emacs-standard</CODE>,
680<CODE>emacs-meta</CODE>,
681<CODE>emacs-ctlx</CODE>,
682<CODE>vi</CODE>,
683<CODE>vi-move</CODE>,
684<CODE>vi-command</CODE>, and
685<CODE>vi-insert</CODE>.
686<CODE>vi</CODE> is equivalent to <CODE>vi-command</CODE>; <CODE>emacs</CODE> is
687equivalent to <CODE>emacs-standard</CODE>. The default value is <CODE>emacs</CODE>.
688The value of the <CODE>editing-mode</CODE> variable also affects the
689default keymap.
690<P>
691
692<DT><CODE>mark-directories</CODE>
693<DD>If set to <SAMP>`on'</SAMP>, completed directory names have a slash
694appended. The default is <SAMP>`on'</SAMP>.
695<P>
696
697<DT><CODE>mark-modified-lines</CODE>
698<DD><A NAME="IDX19"></A>
699This variable, when set to <SAMP>`on'</SAMP>, causes Readline to display an
700asterisk (<SAMP>`*'</SAMP>) at the start of history lines which have been modified.
701This variable is <SAMP>`off'</SAMP> by default.
702<P>
703
704<DT><CODE>mark-symlinked-directories</CODE>
705<DD><A NAME="IDX20"></A>
706If set to <SAMP>`on'</SAMP>, completed names which are symbolic links
707to directories have a slash appended (subject to the value of
708<CODE>mark-directories</CODE>).
709The default is <SAMP>`off'</SAMP>.
710<P>
711
712<DT><CODE>match-hidden-files</CODE>
713<DD><A NAME="IDX21"></A>
714This variable, when set to <SAMP>`on'</SAMP>, causes Readline to match files whose
715names begin with a <SAMP>`.'</SAMP> (hidden files) when performing filename
716completion, unless the leading <SAMP>`.'</SAMP> is
717supplied by the user in the filename to be completed.
718This variable is <SAMP>`on'</SAMP> by default.
719<P>
720
721<DT><CODE>output-meta</CODE>
722<DD><A NAME="IDX22"></A>
723If set to <SAMP>`on'</SAMP>, Readline will display characters with the
724eighth bit set directly rather than as a meta-prefixed escape
725sequence. The default is <SAMP>`off'</SAMP>.
726<P>
727
728<DT><CODE>page-completions</CODE>
729<DD><A NAME="IDX23"></A>
730If set to <SAMP>`on'</SAMP>, Readline uses an internal <CODE>more</CODE>-like pager
731to display a screenful of possible completions at a time.
732This variable is <SAMP>`on'</SAMP> by default.
733<P>
734
735<DT><CODE>print-completions-horizontally</CODE>
736<DD>If set to <SAMP>`on'</SAMP>, Readline will display completions with matches
737sorted horizontally in alphabetical order, rather than down the screen.
738The default is <SAMP>`off'</SAMP>.
739<P>
740
741<DT><CODE>show-all-if-ambiguous</CODE>
742<DD><A NAME="IDX24"></A>
743This alters the default behavior of the completion functions. If
744set to <SAMP>`on'</SAMP>,
745words which have more than one possible completion cause the
746matches to be listed immediately instead of ringing the bell.
747The default value is <SAMP>`off'</SAMP>.
748<P>
749
750<DT><CODE>show-all-if-unmodified</CODE>
751<DD><A NAME="IDX25"></A>
752This alters the default behavior of the completion functions in
753a fashion similar to <VAR>show-all-if-ambiguous</VAR>.
754If set to <SAMP>`on'</SAMP>,
755words which have more than one possible completion without any
756possible partial completion (the possible completions don't share
757a common prefix) cause the matches to be listed immediately instead
758of ringing the bell.
759The default value is <SAMP>`off'</SAMP>.
760<P>
761
762<DT><CODE>visible-stats</CODE>
763<DD><A NAME="IDX26"></A>
764If set to <SAMP>`on'</SAMP>, a character denoting a file's type
765is appended to the filename when listing possible
766completions. The default is <SAMP>`off'</SAMP>.
767<P>
768
769</DL>
770<P>
771
772<DT>Key Bindings
773<DD>The syntax for controlling key bindings in the init file is
774simple. First you need to find the name of the command that you
775want to change. The following sections contain tables of the command
776name, the default keybinding, if any, and a short description of what
777the command does.
778<P>
779
780Once you know the name of the command, simply place on a line
781in the init file the name of the key
782you wish to bind the command to, a colon, and then the name of the
783command. The name of the key
784can be expressed in different ways, depending on what you find most
785comfortable.
786</P><P>
787
788In addition to command names, readline allows keys to be bound
789to a string that is inserted when the key is pressed (a <VAR>macro</VAR>).
790</P><P>
791
792<DL COMPACT>
793<DT><VAR>keyname</VAR>: <VAR>function-name</VAR> or <VAR>macro</VAR>
794<DD><VAR>keyname</VAR> is the name of a key spelled out in English. For example:
795<TABLE><tr><td>&nbsp;</td><td class=example><pre>Control-u: universal-argument
796Meta-Rubout: backward-kill-word
797Control-o: "&#62; output"
798</pre></td></tr></table><P>
799
800In the above example, <KBD>C-u</KBD> is bound to the function
801<CODE>universal-argument</CODE>,
802<KBD>M-DEL</KBD> is bound to the function <CODE>backward-kill-word</CODE>, and
803<KBD>C-o</KBD> is bound to run the macro
804expressed on the right hand side (that is, to insert the text
805<SAMP>`&#62; output'</SAMP> into the line).
806</P><P>
807
808A number of symbolic character names are recognized while
809processing this key binding syntax:
810<VAR>DEL</VAR>,
811<VAR>ESC</VAR>,
812<VAR>ESCAPE</VAR>,
813<VAR>LFD</VAR>,
814<VAR>NEWLINE</VAR>,
815<VAR>RET</VAR>,
816<VAR>RETURN</VAR>,
817<VAR>RUBOUT</VAR>,
818<VAR>SPACE</VAR>,
819<VAR>SPC</VAR>,
820and
821<VAR>TAB</VAR>.
822</P><P>
823
824<DT>"<VAR>keyseq</VAR>": <VAR>function-name</VAR> or <VAR>macro</VAR>
825<DD><VAR>keyseq</VAR> differs from <VAR>keyname</VAR> above in that strings
826denoting an entire key sequence can be specified, by placing
827the key sequence in double quotes. Some GNU Emacs style key
828escapes can be used, as in the following example, but the
829special character names are not recognized.
830<P>
831
832<TABLE><tr><td>&nbsp;</td><td class=example><pre>"\C-u": universal-argument
833"\C-x\C-r": re-read-init-file
834"\e[11~": "Function Key 1"
835</pre></td></tr></table></P><P>
836
837In the above example, <KBD>C-u</KBD> is again bound to the function
838<CODE>universal-argument</CODE> (just as it was in the first example),
839<SAMP>`<KBD>C-x</KBD> <KBD>C-r</KBD>'</SAMP> is bound to the function <CODE>re-read-init-file</CODE>,
840and <SAMP>`<KBD>ESC</KBD> <KBD>[</KBD> <KBD>1</KBD> <KBD>1</KBD> <KBD>~</KBD>'</SAMP> is bound to insert
841the text <SAMP>`Function Key 1'</SAMP>.
842</P><P>
843
844</DL>
845<P>
846
847The following GNU Emacs style escape sequences are available when
848specifying key sequences:
849</P><P>
850
851<DL COMPACT>
852<DT><CODE><KBD>\C-</KBD></CODE>
853<DD>control prefix
854<DT><CODE><KBD>\M-</KBD></CODE>
855<DD>meta prefix
856<DT><CODE><KBD>\e</KBD></CODE>
857<DD>an escape character
858<DT><CODE><KBD>\\</KBD></CODE>
859<DD>backslash
860<DT><CODE><KBD>\"</KBD></CODE>
861<DD><KBD>"</KBD>, a double quotation mark
862<DT><CODE><KBD>\'</KBD></CODE>
863<DD><KBD>'</KBD>, a single quote or apostrophe
864</DL>
865<P>
866
867In addition to the GNU Emacs style escape sequences, a second
868set of backslash escapes is available:
869</P><P>
870
871<DL COMPACT>
872<DT><CODE>\a</CODE>
873<DD>alert (bell)
874<DT><CODE>\b</CODE>
875<DD>backspace
876<DT><CODE>\d</CODE>
877<DD>delete
878<DT><CODE>\f</CODE>
879<DD>form feed
880<DT><CODE>\n</CODE>
881<DD>newline
882<DT><CODE>\r</CODE>
883<DD>carriage return
884<DT><CODE>\t</CODE>
885<DD>horizontal tab
886<DT><CODE>\v</CODE>
887<DD>vertical tab
888<DT><CODE>\<VAR>nnn</VAR></CODE>
889<DD>the eight-bit character whose value is the octal value <VAR>nnn</VAR>
890(one to three digits)
891<DT><CODE>\x<VAR>HH</VAR></CODE>
892<DD>the eight-bit character whose value is the hexadecimal value <VAR>HH</VAR>
893(one or two hex digits)
894</DL>
895<P>
896
897When entering the text of a macro, single or double quotes must
898be used to indicate a macro definition.
899Unquoted text is assumed to be a function name.
900In the macro body, the backslash escapes described above are expanded.
901Backslash will quote any other character in the macro text,
902including <SAMP>`"'</SAMP> and <SAMP>`''</SAMP>.
903For example, the following binding will make <SAMP>`<KBD>C-x</KBD> \'</SAMP>
904insert a single <SAMP>`\'</SAMP> into the line:
905<TABLE><tr><td>&nbsp;</td><td class=example><pre>"\C-x\\": "\\"
906</pre></td></tr></table></P><P>
907
908</DL>
909<P>
910
911<A NAME="Conditional Init Constructs"></A>
912<HR SIZE="6">
913<A NAME="SEC11"></A>
914<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
915<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC10"> &lt; </A>]</TD>
916<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC12"> &gt; </A>]</TD>
917<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC12"> &lt;&lt; </A>]</TD>
918<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> Up </A>]</TD>
919<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt;&gt; </A>]</TD>
920<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
921<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
922<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
923<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
924</TR></TABLE>
925<H3> 1.3.2 Conditional Init Constructs </H3>
926<!--docid::SEC11::-->
927<P>
928
929Readline implements a facility similar in spirit to the conditional
930compilation features of the C preprocessor which allows key
931bindings and variable settings to be performed as the result
932of tests. There are four parser directives used.
933</P><P>
934
935<DL COMPACT>
936<DT><CODE>$if</CODE>
937<DD>The <CODE>$if</CODE> construct allows bindings to be made based on the
938editing mode, the terminal being used, or the application using
939Readline. The text of the test extends to the end of the line;
940no characters are required to isolate it.
941<P>
942
943<DL COMPACT>
944<DT><CODE>mode</CODE>
945<DD>The <CODE>mode=</CODE> form of the <CODE>$if</CODE> directive is used to test
946whether Readline is in <CODE>emacs</CODE> or <CODE>vi</CODE> mode.
947This may be used in conjunction
948with the <SAMP>`set keymap'</SAMP> command, for instance, to set bindings in
949the <CODE>emacs-standard</CODE> and <CODE>emacs-ctlx</CODE> keymaps only if
950Readline is starting out in <CODE>emacs</CODE> mode.
951<P>
952
953<DT><CODE>term</CODE>
954<DD>The <CODE>term=</CODE> form may be used to include terminal-specific
955key bindings, perhaps to bind the key sequences output by the
956terminal's function keys. The word on the right side of the
957<SAMP>`='</SAMP> is tested against both the full name of the terminal and
958the portion of the terminal name before the first <SAMP>`-'</SAMP>. This
959allows <CODE>sun</CODE> to match both <CODE>sun</CODE> and <CODE>sun-cmd</CODE>,
960for instance.
961<P>
962
963<DT><CODE>application</CODE>
964<DD>The <VAR>application</VAR> construct is used to include
965application-specific settings. Each program using the Readline
966library sets the <VAR>application name</VAR>, and you can test for
967a particular value.
968This could be used to bind key sequences to functions useful for
969a specific program. For instance, the following command adds a
970key sequence that quotes the current or previous word in Bash:
971<TABLE><tr><td>&nbsp;</td><td class=example><pre>$if Bash
972# Quote the current or previous word
973"\C-xq": "\eb\"\ef\""
974$endif
975</pre></td></tr></table></DL>
976<P>
977
978<DT><CODE>$endif</CODE>
979<DD>This command, as seen in the previous example, terminates an
980<CODE>$if</CODE> command.
981<P>
982
983<DT><CODE>$else</CODE>
984<DD>Commands in this branch of the <CODE>$if</CODE> directive are executed if
985the test fails.
986<P>
987
988<DT><CODE>$include</CODE>
989<DD>This directive takes a single filename as an argument and reads commands
990and bindings from that file.
991For example, the following directive reads from <TT>`/etc/inputrc'</TT>:
992<TABLE><tr><td>&nbsp;</td><td class=example><pre>$include /etc/inputrc
993</pre></td></tr></table></DL>
994<P>
995
996<A NAME="Sample Init File"></A>
997<HR SIZE="6">
998<A NAME="SEC12"></A>
999<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1000<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC11"> &lt; </A>]</TD>
1001<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt; </A>]</TD>
1002<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </A>]</TD>
1003<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> Up </A>]</TD>
1004<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt;&gt; </A>]</TD>
1005<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1006<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1007<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1008<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1009</TR></TABLE>
1010<H3> 1.3.3 Sample Init File </H3>
1011<!--docid::SEC12::-->
1012<P>
1013
1014Here is an example of an <VAR>inputrc</VAR> file. This illustrates key
1015binding, variable assignment, and conditional syntax.
1016</P><P>
1017
1018<TABLE><tr><td>&nbsp;</td><td class=example><pre># This file controls the behaviour of line input editing for
1019# programs that use the GNU Readline library. Existing
1020# programs include FTP, Bash, and GDB.
1021#
1022# You can re-read the inputrc file with C-x C-r.
1023# Lines beginning with '#' are comments.
1024#
1025# First, include any systemwide bindings and variable
1026# assignments from /etc/Inputrc
1027$include /etc/Inputrc
1028
1029#
1030# Set various bindings for emacs mode.
1031
1032set editing-mode emacs
1033
1034$if mode=emacs
1035
1036Meta-Control-h: backward-kill-word Text after the function name is ignored
1037
1038#
1039# Arrow keys in keypad mode
1040#
1041#"\M-OD": backward-char
1042#"\M-OC": forward-char
1043#"\M-OA": previous-history
1044#"\M-OB": next-history
1045#
1046# Arrow keys in ANSI mode
1047#
1048"\M-[D": backward-char
1049"\M-[C": forward-char
1050"\M-[A": previous-history
1051"\M-[B": next-history
1052#
1053# Arrow keys in 8 bit keypad mode
1054#
1055#"\M-\C-OD": backward-char
1056#"\M-\C-OC": forward-char
1057#"\M-\C-OA": previous-history
1058#"\M-\C-OB": next-history
1059#
1060# Arrow keys in 8 bit ANSI mode
1061#
1062#"\M-\C-[D": backward-char
1063#"\M-\C-[C": forward-char
1064#"\M-\C-[A": previous-history
1065#"\M-\C-[B": next-history
1066
1067C-q: quoted-insert
1068
1069$endif
1070
1071# An old-style binding. This happens to be the default.
1072TAB: complete
1073
1074# Macros that are convenient for shell interaction
1075$if Bash
1076# edit the path
1077"\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
1078# prepare to type a quoted word --
1079# insert open and close double quotes
1080# and move to just after the open quote
1081"\C-x\"": "\"\"\C-b"
1082# insert a backslash (testing backslash escapes
1083# in sequences and macros)
1084"\C-x\\": "\\"
1085# Quote the current or previous word
1086"\C-xq": "\eb\"\ef\""
1087# Add a binding to refresh the line, which is unbound
1088"\C-xr": redraw-current-line
1089# Edit variable on current line.
1090"\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
1091$endif
1092
1093# use a visible bell if one is available
1094set bell-style visible
1095
1096# don't strip characters to 7 bits when reading
1097set input-meta on
1098
1099# allow iso-latin1 characters to be inserted rather
1100# than converted to prefix-meta sequences
1101set convert-meta off
1102
1103# display characters with the eighth bit set directly
1104# rather than as meta-prefixed characters
1105set output-meta on
1106
1107# if there are more than 150 possible completions for
1108# a word, ask the user if he wants to see all of them
1109set completion-query-items 150
1110
1111# For FTP
1112$if Ftp
1113"\C-xg": "get \M-?"
1114"\C-xt": "put \M-?"
1115"\M-.": yank-last-arg
1116$endif
1117</pre></td></tr></table></P><P>
1118
1119<A NAME="Bindable Readline Commands"></A>
1120<HR SIZE="6">
1121<A NAME="SEC13"></A>
1122<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1123<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC12"> &lt; </A>]</TD>
1124<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC14"> &gt; </A>]</TD>
1125<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </A>]</TD>
1126<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> Up </A>]</TD>
1127<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1128<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1129<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1130<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1131<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1132</TR></TABLE>
1133<H2> 1.4 Bindable Readline Commands </H2>
1134<!--docid::SEC13::-->
1135<P>
1136
1137<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
1138<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC14">1.4.1 Commands For Moving</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the line.</TD></TR>
1139<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting at previous lines.</TD></TR>
1140<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC16">1.4.3 Commands For Changing Text</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for changing text.</TD></TR>
1141<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC17">1.4.4 Killing And Yanking</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for killing and yanking.</TD></TR>
1142<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying numeric arguments, repeat counts.</TD></TR>
1143<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC19">1.4.6 Letting Readline Type For You</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting Readline to do the typing for you.</TD></TR>
1144<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC20">1.4.7 Keyboard Macros</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Saving and re-executing typed characters</TD></TR>
1145<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Other miscellaneous commands.</TD></TR>
1146</TABLE></BLOCKQUOTE>
1147<P>
1148
1149This section describes Readline commands that may be bound to key
1150sequences.
1151Command names without an accompanying key sequence are unbound by default.
1152</P><P>
1153
1154In the following descriptions, <EM>point</EM> refers to the current cursor
1155position, and <EM>mark</EM> refers to a cursor position saved by the
1156<CODE>set-mark</CODE> command.
1157The text between the point and mark is referred to as the <EM>region</EM>.
1158</P><P>
1159
1160<A NAME="Commands For Moving"></A>
1161<HR SIZE="6">
1162<A NAME="SEC14"></A>
1163<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1164<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt; </A>]</TD>
1165<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC15"> &gt; </A>]</TD>
1166<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </A>]</TD>
1167<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1168<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1169<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1170<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1171<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1172<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1173</TR></TABLE>
1174<H3> 1.4.1 Commands For Moving </H3>
1175<!--docid::SEC14::-->
1176<DL COMPACT>
1177<A NAME="IDX27"></A>
1178<DT><CODE>beginning-of-line (C-a)</CODE>
1179<DD><A NAME="IDX28"></A>
1180Move to the start of the current line.
1181<P>
1182
1183<A NAME="IDX29"></A>
1184<DT><CODE>end-of-line (C-e)</CODE>
1185<DD><A NAME="IDX30"></A>
1186Move to the end of the line.
1187<P>
1188
1189<A NAME="IDX31"></A>
1190<DT><CODE>forward-char (C-f)</CODE>
1191<DD><A NAME="IDX32"></A>
1192Move forward a character.
1193<P>
1194
1195<A NAME="IDX33"></A>
1196<DT><CODE>backward-char (C-b)</CODE>
1197<DD><A NAME="IDX34"></A>
1198Move back a character.
1199<P>
1200
1201<A NAME="IDX35"></A>
1202<DT><CODE>forward-word (M-f)</CODE>
1203<DD><A NAME="IDX36"></A>
1204Move forward to the end of the next word. Words are composed of
1205letters and digits.
1206<P>
1207
1208<A NAME="IDX37"></A>
1209<DT><CODE>backward-word (M-b)</CODE>
1210<DD><A NAME="IDX38"></A>
1211Move back to the start of the current or previous word. Words are
1212composed of letters and digits.
1213<P>
1214
1215<A NAME="IDX39"></A>
1216<DT><CODE>clear-screen (C-l)</CODE>
1217<DD><A NAME="IDX40"></A>
1218Clear the screen and redraw the current line,
1219leaving the current line at the top of the screen.
1220<P>
1221
1222<A NAME="IDX41"></A>
1223<DT><CODE>redraw-current-line ()</CODE>
1224<DD><A NAME="IDX42"></A>
1225Refresh the current line. By default, this is unbound.
1226<P>
1227
1228</DL>
1229<P>
1230
1231<A NAME="Commands For History"></A>
1232<HR SIZE="6">
1233<A NAME="SEC15"></A>
1234<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1235<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC14"> &lt; </A>]</TD>
1236<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC16"> &gt; </A>]</TD>
1237<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC16"> &lt;&lt; </A>]</TD>
1238<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1239<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1240<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1241<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1242<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1243<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1244</TR></TABLE>
1245<H3> 1.4.2 Commands For Manipulating The History </H3>
1246<!--docid::SEC15::-->
1247<P>
1248
1249<DL COMPACT>
1250<A NAME="IDX43"></A>
1251<DT><CODE>accept-line (Newline or Return)</CODE>
1252<DD><A NAME="IDX44"></A>
1253Accept the line regardless of where the cursor is.
1254If this line is
1255non-empty, it may be added to the history list for future recall with
1256<CODE>add_history()</CODE>.
1257If this line is a modified history line, the history line is restored
1258to its original state.
1259<P>
1260
1261<A NAME="IDX45"></A>
1262<DT><CODE>previous-history (C-p)</CODE>
1263<DD><A NAME="IDX46"></A>
1264Move `back' through the history list, fetching the previous command.
1265<P>
1266
1267<A NAME="IDX47"></A>
1268<DT><CODE>next-history (C-n)</CODE>
1269<DD><A NAME="IDX48"></A>
1270Move `forward' through the history list, fetching the next command.
1271<P>
1272
1273<A NAME="IDX49"></A>
1274<DT><CODE>beginning-of-history (M-&#60;)</CODE>
1275<DD><A NAME="IDX50"></A>
1276Move to the first line in the history.
1277<P>
1278
1279<A NAME="IDX51"></A>
1280<DT><CODE>end-of-history (M-&#62;)</CODE>
1281<DD><A NAME="IDX52"></A>
1282Move to the end of the input history, i.e., the line currently
1283being entered.
1284<P>
1285
1286<A NAME="IDX53"></A>
1287<DT><CODE>reverse-search-history (C-r)</CODE>
1288<DD><A NAME="IDX54"></A>
1289Search backward starting at the current line and moving `up' through
1290the history as necessary. This is an incremental search.
1291<P>
1292
1293<A NAME="IDX55"></A>
1294<DT><CODE>forward-search-history (C-s)</CODE>
1295<DD><A NAME="IDX56"></A>
1296Search forward starting at the current line and moving `down' through
1297the the history as necessary. This is an incremental search.
1298<P>
1299
1300<A NAME="IDX57"></A>
1301<DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
1302<DD><A NAME="IDX58"></A>
1303Search backward starting at the current line and moving `up'
1304through the history as necessary using a non-incremental search
1305for a string supplied by the user.
1306<P>
1307
1308<A NAME="IDX59"></A>
1309<DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
1310<DD><A NAME="IDX60"></A>
1311Search forward starting at the current line and moving `down'
1312through the the history as necessary using a non-incremental search
1313for a string supplied by the user.
1314<P>
1315
1316<A NAME="IDX61"></A>
1317<DT><CODE>history-search-forward ()</CODE>
1318<DD><A NAME="IDX62"></A>
1319Search forward through the history for the string of characters
1320between the start of the current line and the point.
1321This is a non-incremental search.
1322By default, this command is unbound.
1323<P>
1324
1325<A NAME="IDX63"></A>
1326<DT><CODE>history-search-backward ()</CODE>
1327<DD><A NAME="IDX64"></A>
1328Search backward through the history for the string of characters
1329between the start of the current line and the point. This
1330is a non-incremental search. By default, this command is unbound.
1331<P>
1332
1333<A NAME="IDX65"></A>
1334<DT><CODE>yank-nth-arg (M-C-y)</CODE>
1335<DD><A NAME="IDX66"></A>
1336Insert the first argument to the previous command (usually
1337the second word on the previous line) at point.
1338With an argument <VAR>n</VAR>,
1339insert the <VAR>n</VAR>th word from the previous command (the words
1340in the previous command begin with word 0). A negative argument
1341inserts the <VAR>n</VAR>th word from the end of the previous command.
1342<P>
1343
1344<A NAME="IDX67"></A>
1345<DT><CODE>yank-last-arg (M-. or M-_)</CODE>
1346<DD><A NAME="IDX68"></A>
1347Insert last argument to the previous command (the last word of the
1348previous history entry). With an
1349argument, behave exactly like <CODE>yank-nth-arg</CODE>.
1350Successive calls to <CODE>yank-last-arg</CODE> move back through the history
1351list, inserting the last argument of each line in turn.
1352<P>
1353
1354</DL>
1355<P>
1356
1357<A NAME="Commands For Text"></A>
1358<HR SIZE="6">
1359<A NAME="SEC16"></A>
1360<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1361<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC15"> &lt; </A>]</TD>
1362<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC17"> &gt; </A>]</TD>
1363<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC17"> &lt;&lt; </A>]</TD>
1364<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1365<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1366<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1367<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1368<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1369<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1370</TR></TABLE>
1371<H3> 1.4.3 Commands For Changing Text </H3>
1372<!--docid::SEC16::-->
1373<P>
1374
1375<DL COMPACT>
1376<A NAME="IDX69"></A>
1377<DT><CODE>delete-char (C-d)</CODE>
1378<DD><A NAME="IDX70"></A>
1379Delete the character at point. If point is at the
1380beginning of the line, there are no characters in the line, and
1381the last character typed was not bound to <CODE>delete-char</CODE>, then
1382return EOF.
1383<P>
1384
1385<A NAME="IDX71"></A>
1386<DT><CODE>backward-delete-char (Rubout)</CODE>
1387<DD><A NAME="IDX72"></A>
1388Delete the character behind the cursor. A numeric argument means
1389to kill the characters instead of deleting them.
1390<P>
1391
1392<A NAME="IDX73"></A>
1393<DT><CODE>forward-backward-delete-char ()</CODE>
1394<DD><A NAME="IDX74"></A>
1395Delete the character under the cursor, unless the cursor is at the
1396end of the line, in which case the character behind the cursor is
1397deleted. By default, this is not bound to a key.
1398<P>
1399
1400<A NAME="IDX75"></A>
1401<DT><CODE>quoted-insert (C-q or C-v)</CODE>
1402<DD><A NAME="IDX76"></A>
1403Add the next character typed to the line verbatim. This is
1404how to insert key sequences like <KBD>C-q</KBD>, for example.
1405<P>
1406
1407<A NAME="IDX77"></A>
1408<DT><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE>
1409<DD><A NAME="IDX78"></A>
1410Insert a tab character.
1411<P>
1412
1413<A NAME="IDX79"></A>
1414<DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
1415<DD><A NAME="IDX80"></A>
1416Insert yourself.
1417<P>
1418
1419<A NAME="IDX81"></A>
1420<DT><CODE>transpose-chars (C-t)</CODE>
1421<DD><A NAME="IDX82"></A>
1422Drag the character before the cursor forward over
1423the character at the cursor, moving the
1424cursor forward as well. If the insertion point
1425is at the end of the line, then this
1426transposes the last two characters of the line.
1427Negative arguments have no effect.
1428<P>
1429
1430<A NAME="IDX83"></A>
1431<DT><CODE>transpose-words (M-t)</CODE>
1432<DD><A NAME="IDX84"></A>
1433Drag the word before point past the word after point,
1434moving point past that word as well.
1435If the insertion point is at the end of the line, this transposes
1436the last two words on the line.
1437<P>
1438
1439<A NAME="IDX85"></A>
1440<DT><CODE>upcase-word (M-u)</CODE>
1441<DD><A NAME="IDX86"></A>
1442Uppercase the current (or following) word. With a negative argument,
1443uppercase the previous word, but do not move the cursor.
1444<P>
1445
1446<A NAME="IDX87"></A>
1447<DT><CODE>downcase-word (M-l)</CODE>
1448<DD><A NAME="IDX88"></A>
1449Lowercase the current (or following) word. With a negative argument,
1450lowercase the previous word, but do not move the cursor.
1451<P>
1452
1453<A NAME="IDX89"></A>
1454<DT><CODE>capitalize-word (M-c)</CODE>
1455<DD><A NAME="IDX90"></A>
1456Capitalize the current (or following) word. With a negative argument,
1457capitalize the previous word, but do not move the cursor.
1458<P>
1459
1460<A NAME="IDX91"></A>
1461<DT><CODE>overwrite-mode ()</CODE>
1462<DD><A NAME="IDX92"></A>
1463Toggle overwrite mode. With an explicit positive numeric argument,
1464switches to overwrite mode. With an explicit non-positive numeric
1465argument, switches to insert mode. This command affects only
1466<CODE>emacs</CODE> mode; <CODE>vi</CODE> mode does overwrite differently.
1467Each call to <CODE>readline()</CODE> starts in insert mode.
1468<P>
1469
1470In overwrite mode, characters bound to <CODE>self-insert</CODE> replace
1471the text at point rather than pushing the text to the right.
1472Characters bound to <CODE>backward-delete-char</CODE> replace the character
1473before point with a space.
1474</P><P>
1475
1476By default, this command is unbound.
1477</P><P>
1478
1479</DL>
1480<P>
1481
1482<A NAME="Commands For Killing"></A>
1483<HR SIZE="6">
1484<A NAME="SEC17"></A>
1485<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1486<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC16"> &lt; </A>]</TD>
1487<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC18"> &gt; </A>]</TD>
1488<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC18"> &lt;&lt; </A>]</TD>
1489<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1490<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1491<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1492<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1493<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1494<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1495</TR></TABLE>
1496<H3> 1.4.4 Killing And Yanking </H3>
1497<!--docid::SEC17::-->
1498<P>
1499
1500<DL COMPACT>
1501
1502<A NAME="IDX93"></A>
1503<DT><CODE>kill-line (C-k)</CODE>
1504<DD><A NAME="IDX94"></A>
1505Kill the text from point to the end of the line.
1506<P>
1507
1508<A NAME="IDX95"></A>
1509<DT><CODE>backward-kill-line (C-x Rubout)</CODE>
1510<DD><A NAME="IDX96"></A>
1511Kill backward to the beginning of the line.
1512<P>
1513
1514<A NAME="IDX97"></A>
1515<DT><CODE>unix-line-discard (C-u)</CODE>
1516<DD><A NAME="IDX98"></A>
1517Kill backward from the cursor to the beginning of the current line.
1518<P>
1519
1520<A NAME="IDX99"></A>
1521<DT><CODE>kill-whole-line ()</CODE>
1522<DD><A NAME="IDX100"></A>
1523Kill all characters on the current line, no matter where point is.
1524By default, this is unbound.
1525<P>
1526
1527<A NAME="IDX101"></A>
1528<DT><CODE>kill-word (M-d)</CODE>
1529<DD><A NAME="IDX102"></A>
1530Kill from point to the end of the current word, or if between
1531words, to the end of the next word.
1532Word boundaries are the same as <CODE>forward-word</CODE>.
1533<P>
1534
1535<A NAME="IDX103"></A>
1536<DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
1537<DD><A NAME="IDX104"></A>
1538Kill the word behind point.
1539Word boundaries are the same as <CODE>backward-word</CODE>.
1540<P>
1541
1542<A NAME="IDX105"></A>
1543<DT><CODE>unix-word-rubout (C-w)</CODE>
1544<DD><A NAME="IDX106"></A>
1545Kill the word behind point, using white space as a word boundary.
1546The killed text is saved on the kill-ring.
1547<P>
1548
1549<A NAME="IDX107"></A>
1550<DT><CODE>unix-filename-rubout ()</CODE>
1551<DD><A NAME="IDX108"></A>
1552Kill the word behind point, using white space and the slash character
1553as the word boundaries.
1554The killed text is saved on the kill-ring.
1555<P>
1556
1557<A NAME="IDX109"></A>
1558<DT><CODE>delete-horizontal-space ()</CODE>
1559<DD><A NAME="IDX110"></A>
1560Delete all spaces and tabs around point. By default, this is unbound.
1561<P>
1562
1563<A NAME="IDX111"></A>
1564<DT><CODE>kill-region ()</CODE>
1565<DD><A NAME="IDX112"></A>
1566Kill the text in the current region.
1567By default, this command is unbound.
1568<P>
1569
1570<A NAME="IDX113"></A>
1571<DT><CODE>copy-region-as-kill ()</CODE>
1572<DD><A NAME="IDX114"></A>
1573Copy the text in the region to the kill buffer, so it can be yanked
1574right away. By default, this command is unbound.
1575<P>
1576
1577<A NAME="IDX115"></A>
1578<DT><CODE>copy-backward-word ()</CODE>
1579<DD><A NAME="IDX116"></A>
1580Copy the word before point to the kill buffer.
1581The word boundaries are the same as <CODE>backward-word</CODE>.
1582By default, this command is unbound.
1583<P>
1584
1585<A NAME="IDX117"></A>
1586<DT><CODE>copy-forward-word ()</CODE>
1587<DD><A NAME="IDX118"></A>
1588Copy the word following point to the kill buffer.
1589The word boundaries are the same as <CODE>forward-word</CODE>.
1590By default, this command is unbound.
1591<P>
1592
1593<A NAME="IDX119"></A>
1594<DT><CODE>yank (C-y)</CODE>
1595<DD><A NAME="IDX120"></A>
1596Yank the top of the kill ring into the buffer at point.
1597<P>
1598
1599<A NAME="IDX121"></A>
1600<DT><CODE>yank-pop (M-y)</CODE>
1601<DD><A NAME="IDX122"></A>
1602Rotate the kill-ring, and yank the new top. You can only do this if
1603the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
1604</DL>
1605<P>
1606
1607<A NAME="Numeric Arguments"></A>
1608<HR SIZE="6">
1609<A NAME="SEC18"></A>
1610<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1611<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC17"> &lt; </A>]</TD>
1612<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC19"> &gt; </A>]</TD>
1613<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC19"> &lt;&lt; </A>]</TD>
1614<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1615<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1616<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1617<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1618<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1619<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1620</TR></TABLE>
1621<H3> 1.4.5 Specifying Numeric Arguments </H3>
1622<!--docid::SEC18::-->
1623<DL COMPACT>
1624
1625<A NAME="IDX123"></A>
1626<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
1627<DD><A NAME="IDX124"></A>
1628Add this digit to the argument already accumulating, or start a new
1629argument. <KBD>M--</KBD> starts a negative argument.
1630<P>
1631
1632<A NAME="IDX125"></A>
1633<DT><CODE>universal-argument ()</CODE>
1634<DD><A NAME="IDX126"></A>
1635This is another way to specify an argument.
1636If this command is followed by one or more digits, optionally with a
1637leading minus sign, those digits define the argument.
1638If the command is followed by digits, executing <CODE>universal-argument</CODE>
1639again ends the numeric argument, but is otherwise ignored.
1640As a special case, if this command is immediately followed by a
1641character that is neither a digit or minus sign, the argument count
1642for the next command is multiplied by four.
1643The argument count is initially one, so executing this function the
1644first time makes the argument count four, a second time makes the
1645argument count sixteen, and so on.
1646By default, this is not bound to a key.
1647</DL>
1648<P>
1649
1650<A NAME="Commands For Completion"></A>
1651<HR SIZE="6">
1652<A NAME="SEC19"></A>
1653<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1654<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC18"> &lt; </A>]</TD>
1655<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC20"> &gt; </A>]</TD>
1656<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC20"> &lt;&lt; </A>]</TD>
1657<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1658<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1659<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1660<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1661<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1662<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1663</TR></TABLE>
1664<H3> 1.4.6 Letting Readline Type For You </H3>
1665<!--docid::SEC19::-->
1666<P>
1667
1668<DL COMPACT>
1669<A NAME="IDX127"></A>
1670<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
1671<DD><A NAME="IDX128"></A>
1672Attempt to perform completion on the text before point.
1673The actual completion performed is application-specific.
1674The default is filename completion.
1675<P>
1676
1677<A NAME="IDX129"></A>
1678<DT><CODE>possible-completions (M-?)</CODE>
1679<DD><A NAME="IDX130"></A>
1680List the possible completions of the text before point.
1681<P>
1682
1683<A NAME="IDX131"></A>
1684<DT><CODE>insert-completions (M-*)</CODE>
1685<DD><A NAME="IDX132"></A>
1686Insert all completions of the text before point that would have
1687been generated by <CODE>possible-completions</CODE>.
1688<P>
1689
1690<A NAME="IDX133"></A>
1691<DT><CODE>menu-complete ()</CODE>
1692<DD><A NAME="IDX134"></A>
1693Similar to <CODE>complete</CODE>, but replaces the word to be completed
1694with a single match from the list of possible completions.
1695Repeated execution of <CODE>menu-complete</CODE> steps through the list
1696of possible completions, inserting each match in turn.
1697At the end of the list of completions, the bell is rung
1698(subject to the setting of <CODE>bell-style</CODE>)
1699and the original text is restored.
1700An argument of <VAR>n</VAR> moves <VAR>n</VAR> positions forward in the list
1701of matches; a negative argument may be used to move backward
1702through the list.
1703This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
1704by default.
1705<P>
1706
1707<A NAME="IDX135"></A>
1708<DT><CODE>delete-char-or-list ()</CODE>
1709<DD><A NAME="IDX136"></A>
1710Deletes the character under the cursor if not at the beginning or
1711end of the line (like <CODE>delete-char</CODE>).
1712If at the end of the line, behaves identically to
1713<CODE>possible-completions</CODE>.
1714This command is unbound by default.
1715<P>
1716
1717</DL>
1718<P>
1719
1720<A NAME="Keyboard Macros"></A>
1721<HR SIZE="6">
1722<A NAME="SEC20"></A>
1723<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1724<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC19"> &lt; </A>]</TD>
1725<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC21"> &gt; </A>]</TD>
1726<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC21"> &lt;&lt; </A>]</TD>
1727<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1728<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1729<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1730<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1731<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1732<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1733</TR></TABLE>
1734<H3> 1.4.7 Keyboard Macros </H3>
1735<!--docid::SEC20::-->
1736<DL COMPACT>
1737
1738<A NAME="IDX137"></A>
1739<DT><CODE>start-kbd-macro (C-x ()</CODE>
1740<DD><A NAME="IDX138"></A>
1741Begin saving the characters typed into the current keyboard macro.
1742<P>
1743
1744<A NAME="IDX139"></A>
1745<DT><CODE>end-kbd-macro (C-x ))</CODE>
1746<DD><A NAME="IDX140"></A>
1747Stop saving the characters typed into the current keyboard macro
1748and save the definition.
1749<P>
1750
1751<A NAME="IDX141"></A>
1752<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
1753<DD><A NAME="IDX142"></A>
1754Re-execute the last keyboard macro defined, by making the characters
1755in the macro appear as if typed at the keyboard.
1756<P>
1757
1758</DL>
1759<P>
1760
1761<A NAME="Miscellaneous Commands"></A>
1762<HR SIZE="6">
1763<A NAME="SEC21"></A>
1764<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1765<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC20"> &lt; </A>]</TD>
1766<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt; </A>]</TD>
1767<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </A>]</TD>
1768<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> Up </A>]</TD>
1769<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt;&gt; </A>]</TD>
1770<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1771<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1772<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1773<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1774</TR></TABLE>
1775<H3> 1.4.8 Some Miscellaneous Commands </H3>
1776<!--docid::SEC21::-->
1777<DL COMPACT>
1778
1779<A NAME="IDX143"></A>
1780<DT><CODE>re-read-init-file (C-x C-r)</CODE>
1781<DD><A NAME="IDX144"></A>
1782Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
1783any bindings or variable assignments found there.
1784<P>
1785
1786<A NAME="IDX145"></A>
1787<DT><CODE>abort (C-g)</CODE>
1788<DD><A NAME="IDX146"></A>
1789Abort the current editing command and
1790ring the terminal's bell (subject to the setting of
1791<CODE>bell-style</CODE>).
1792<P>
1793
1794<A NAME="IDX147"></A>
1795<DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
1796<DD><A NAME="IDX148"></A>
1797If the metafied character <VAR>x</VAR> is lowercase, run the command
1798that is bound to the corresponding uppercase character.
1799<P>
1800
1801<A NAME="IDX149"></A>
1802<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
1803<DD><A NAME="IDX150"></A>
1804Metafy the next character typed. This is for keyboards
1805without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
1806<KBD>M-f</KBD>.
1807<P>
1808
1809<A NAME="IDX151"></A>
1810<DT><CODE>undo (C-_ or C-x C-u)</CODE>
1811<DD><A NAME="IDX152"></A>
1812Incremental undo, separately remembered for each line.
1813<P>
1814
1815<A NAME="IDX153"></A>
1816<DT><CODE>revert-line (M-r)</CODE>
1817<DD><A NAME="IDX154"></A>
1818Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
1819command enough times to get back to the beginning.
1820<P>
1821
1822<A NAME="IDX155"></A>
1823<DT><CODE>tilde-expand (M-~)</CODE>
1824<DD><A NAME="IDX156"></A>
1825Perform tilde expansion on the current word.
1826<P>
1827
1828<A NAME="IDX157"></A>
1829<DT><CODE>set-mark (C-@)</CODE>
1830<DD><A NAME="IDX158"></A>
1831Set the mark to the point. If a
1832numeric argument is supplied, the mark is set to that position.
1833<P>
1834
1835<A NAME="IDX159"></A>
1836<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
1837<DD><A NAME="IDX160"></A>
1838Swap the point with the mark. The current cursor position is set to
1839the saved position, and the old cursor position is saved as the mark.
1840<P>
1841
1842<A NAME="IDX161"></A>
1843<DT><CODE>character-search (C-])</CODE>
1844<DD><A NAME="IDX162"></A>
1845A character is read and point is moved to the next occurrence of that
1846character. A negative count searches for previous occurrences.
1847<P>
1848
1849<A NAME="IDX163"></A>
1850<DT><CODE>character-search-backward (M-C-])</CODE>
1851<DD><A NAME="IDX164"></A>
1852A character is read and point is moved to the previous occurrence
1853of that character. A negative count searches for subsequent
1854occurrences.
1855<P>
1856
1857<A NAME="IDX165"></A>
1858<DT><CODE>insert-comment (M-#)</CODE>
1859<DD><A NAME="IDX166"></A>
1860Without a numeric argument, the value of the <CODE>comment-begin</CODE>
1861variable is inserted at the beginning of the current line.
1862If a numeric argument is supplied, this command acts as a toggle: if
1863the characters at the beginning of the line do not match the value
1864of <CODE>comment-begin</CODE>, the value is inserted, otherwise
1865the characters in <CODE>comment-begin</CODE> are deleted from the beginning of
1866the line.
1867In either case, the line is accepted as if a newline had been typed.
1868<P>
1869
1870<A NAME="IDX167"></A>
1871<DT><CODE>dump-functions ()</CODE>
1872<DD><A NAME="IDX168"></A>
1873Print all of the functions and their key bindings to the
1874Readline output stream. If a numeric argument is supplied,
1875the output is formatted in such a way that it can be made part
1876of an <VAR>inputrc</VAR> file. This command is unbound by default.
1877<P>
1878
1879<A NAME="IDX169"></A>
1880<DT><CODE>dump-variables ()</CODE>
1881<DD><A NAME="IDX170"></A>
1882Print all of the settable variables and their values to the
1883Readline output stream. If a numeric argument is supplied,
1884the output is formatted in such a way that it can be made part
1885of an <VAR>inputrc</VAR> file. This command is unbound by default.
1886<P>
1887
1888<A NAME="IDX171"></A>
1889<DT><CODE>dump-macros ()</CODE>
1890<DD><A NAME="IDX172"></A>
1891Print all of the Readline key sequences bound to macros and the
1892strings they output. If a numeric argument is supplied,
1893the output is formatted in such a way that it can be made part
1894of an <VAR>inputrc</VAR> file. This command is unbound by default.
1895<P>
1896
1897<A NAME="IDX173"></A>
1898<DT><CODE>emacs-editing-mode (C-e)</CODE>
1899<DD><A NAME="IDX174"></A>
1900When in <CODE>vi</CODE> command mode, this causes a switch to <CODE>emacs</CODE>
1901editing mode.
1902<P>
1903
1904<A NAME="IDX175"></A>
1905<DT><CODE>vi-editing-mode (M-C-j)</CODE>
1906<DD><A NAME="IDX176"></A>
1907When in <CODE>emacs</CODE> editing mode, this causes a switch to <CODE>vi</CODE>
1908editing mode.
1909<P>
1910
1911</DL>
1912<P>
1913
1914<A NAME="Readline vi Mode"></A>
1915<HR SIZE="6">
1916<A NAME="SEC22"></A>
1917<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1918<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC21"> &lt; </A>]</TD>
1919<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &gt; </A>]</TD>
1920<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
1921<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> Up </A>]</TD>
1922<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &gt;&gt; </A>]</TD>
1923<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1924<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1925<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1926<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1927</TR></TABLE>
1928<H2> 1.5 Readline vi Mode </H2>
1929<!--docid::SEC22::-->
1930<P>
1931
1932While the Readline library does not have a full set of <CODE>vi</CODE>
1933editing functions, it does contain enough to allow simple editing
1934of the line. The Readline <CODE>vi</CODE> mode behaves as specified in
1935the POSIX 1003.2 standard.
1936</P><P>
1937
1938In order to switch interactively between <CODE>emacs</CODE> and <CODE>vi</CODE>
1939editing modes, use the command <KBD>M-C-j</KBD> (bound to emacs-editing-mode
1940when in <CODE>vi</CODE> mode and to vi-editing-mode in <CODE>emacs</CODE> mode).
1941The Readline default is <CODE>emacs</CODE> mode.
1942</P><P>
1943
1944When you enter a line in <CODE>vi</CODE> mode, you are already placed in
1945`insertion' mode, as if you had typed an <SAMP>`i'</SAMP>. Pressing <KBD>ESC</KBD>
1946switches you into `command' mode, where you can edit the text of the
1947line with the standard <CODE>vi</CODE> movement keys, move to previous
1948history lines with <SAMP>`k'</SAMP> and subsequent lines with <SAMP>`j'</SAMP>, and
1949so forth.
1950</P><P>
1951
1952<A NAME="Copying This Manual"></A>
1953<HR SIZE="6">
1954<A NAME="SEC23"></A>
1955<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1956<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt; </A>]</TD>
1957<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC24"> &gt; </A>]</TD>
1958<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> &lt;&lt; </A>]</TD>
1959<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top"> Up </A>]</TD>
1960<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
1961<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1962<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1963<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1964<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1965</TR></TABLE>
1966<H1> A. Copying This Manual </H1>
1967<!--docid::SEC23::-->
1968<P>
1969
1970<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
1971<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="rluserman.html#SEC24">A.1 GNU Free Documentation License</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">License for copying this manual.</TD></TR>
1972</TABLE></BLOCKQUOTE>
1973<P>
1974
1975<A NAME="GNU Free Documentation License"></A>
1976<HR SIZE="6">
1977<A NAME="SEC24"></A>
1978<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1979<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &lt; </A>]</TD>
1980<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC25"> &gt; </A>]</TD>
1981<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &lt;&lt; </A>]</TD>
1982<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> Up </A>]</TD>
1983<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
1984<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
1985<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
1986<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
1987<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
1988</TR></TABLE>
1989<H2> A.1 GNU Free Documentation License </H2>
1990<!--docid::SEC24::-->
1991<P>
1992
1993<A NAME="IDX177"></A>
1994<center>
1995 Version 1.2, November 2002
1996</center>
1997</P><P>
1998
1999<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
200059 Temple Place, Suite 330, Boston, MA 02111-1307, USA
2001
2002Everyone is permitted to copy and distribute verbatim copies
2003of this license document, but changing it is not allowed.
2004</pre></td></tr></table></P><P>
2005
2006<OL>
2007<LI>
2008PREAMBLE
2009<P>
2010
2011The purpose of this License is to make a manual, textbook, or other
2012functional and useful document <EM>free</EM> in the sense of freedom: to
2013assure everyone the effective freedom to copy and redistribute it,
2014with or without modifying it, either commercially or noncommercially.
2015Secondarily, this License preserves for the author and publisher a way
2016to get credit for their work, while not being considered responsible
2017for modifications made by others.
2018</P><P>
2019
2020This License is a kind of "copyleft", which means that derivative
2021works of the document must themselves be free in the same sense. It
2022complements the GNU General Public License, which is a copyleft
2023license designed for free software.
2024</P><P>
2025
2026We have designed this License in order to use it for manuals for free
2027software, because free software needs free documentation: a free
2028program should come with manuals providing the same freedoms that the
2029software does. But this License is not limited to software manuals;
2030it can be used for any textual work, regardless of subject matter or
2031whether it is published as a printed book. We recommend this License
2032principally for works whose purpose is instruction or reference.
2033</P><P>
2034
2035<LI>
2036APPLICABILITY AND DEFINITIONS
2037<P>
2038
2039This License applies to any manual or other work, in any medium, that
2040contains a notice placed by the copyright holder saying it can be
2041distributed under the terms of this License. Such a notice grants a
2042world-wide, royalty-free license, unlimited in duration, to use that
2043work under the conditions stated herein. The "Document", below,
2044refers to any such manual or work. Any member of the public is a
2045licensee, and is addressed as "you". You accept the license if you
2046copy, modify or distribute the work in a way requiring permission
2047under copyright law.
2048</P><P>
2049
2050A "Modified Version" of the Document means any work containing the
2051Document or a portion of it, either copied verbatim, or with
2052modifications and/or translated into another language.
2053</P><P>
2054
2055A "Secondary Section" is a named appendix or a front-matter section
2056of the Document that deals exclusively with the relationship of the
2057publishers or authors of the Document to the Document's overall
2058subject (or to related matters) and contains nothing that could fall
2059directly within that overall subject. (Thus, if the Document is in
2060part a textbook of mathematics, a Secondary Section may not explain
2061any mathematics.) The relationship could be a matter of historical
2062connection with the subject or with related matters, or of legal,
2063commercial, philosophical, ethical or political position regarding
2064them.
2065</P><P>
2066
2067The "Invariant Sections" are certain Secondary Sections whose titles
2068are designated, as being those of Invariant Sections, in the notice
2069that says that the Document is released under this License. If a
2070section does not fit the above definition of Secondary then it is not
2071allowed to be designated as Invariant. The Document may contain zero
2072Invariant Sections. If the Document does not identify any Invariant
2073Sections then there are none.
2074</P><P>
2075
2076The "Cover Texts" are certain short passages of text that are listed,
2077as Front-Cover Texts or Back-Cover Texts, in the notice that says that
2078the Document is released under this License. A Front-Cover Text may
2079be at most 5 words, and a Back-Cover Text may be at most 25 words.
2080</P><P>
2081
2082A "Transparent" copy of the Document means a machine-readable copy,
2083represented in a format whose specification is available to the
2084general public, that is suitable for revising the document
2085straightforwardly with generic text editors or (for images composed of
2086pixels) generic paint programs or (for drawings) some widely available
2087drawing editor, and that is suitable for input to text formatters or
2088for automatic translation to a variety of formats suitable for input
2089to text formatters. A copy made in an otherwise Transparent file
2090format whose markup, or absence of markup, has been arranged to thwart
2091or discourage subsequent modification by readers is not Transparent.
2092An image format is not Transparent if used for any substantial amount
2093of text. A copy that is not "Transparent" is called "Opaque".
2094</P><P>
2095
2096Examples of suitable formats for Transparent copies include plain
2097ASCII without markup, Texinfo input format, LaTeX input
2098format, <FONT SIZE="-1">SGML</FONT> or <FONT SIZE="-1">XML</FONT> using a publicly available
2099<FONT SIZE="-1">DTD</FONT>, and standard-conforming simple <FONT SIZE="-1">HTML</FONT>,
2100PostScript or <FONT SIZE="-1">PDF</FONT> designed for human modification. Examples
2101of transparent image formats include <FONT SIZE="-1">PNG</FONT>, <FONT SIZE="-1">XCF</FONT> and
2102<FONT SIZE="-1">JPG</FONT>. Opaque formats include proprietary formats that can be
2103read and edited only by proprietary word processors, <FONT SIZE="-1">SGML</FONT> or
2104<FONT SIZE="-1">XML</FONT> for which the <FONT SIZE="-1">DTD</FONT> and/or processing tools are
2105not generally available, and the machine-generated <FONT SIZE="-1">HTML</FONT>,
2106PostScript or <FONT SIZE="-1">PDF</FONT> produced by some word processors for
2107output purposes only.
2108</P><P>
2109
2110The "Title Page" means, for a printed book, the title page itself,
2111plus such following pages as are needed to hold, legibly, the material
2112this License requires to appear in the title page. For works in
2113formats which do not have any title page as such, "Title Page" means
2114the text near the most prominent appearance of the work's title,
2115preceding the beginning of the body of the text.
2116</P><P>
2117
2118A section "Entitled XYZ" means a named subunit of the Document whose
2119title either is precisely XYZ or contains XYZ in parentheses following
2120text that translates XYZ in another language. (Here XYZ stands for a
2121specific section name mentioned below, such as "Acknowledgements",
2122"Dedications", "Endorsements", or "History".) To "Preserve the Title"
2123of such a section when you modify the Document means that it remains a
2124section "Entitled XYZ" according to this definition.
2125</P><P>
2126
2127The Document may include Warranty Disclaimers next to the notice which
2128states that this License applies to the Document. These Warranty
2129Disclaimers are considered to be included by reference in this
2130License, but only as regards disclaiming warranties: any other
2131implication that these Warranty Disclaimers may have is void and has
2132no effect on the meaning of this License.
2133</P><P>
2134
2135<LI>
2136VERBATIM COPYING
2137<P>
2138
2139You may copy and distribute the Document in any medium, either
2140commercially or noncommercially, provided that this License, the
2141copyright notices, and the license notice saying this License applies
2142to the Document are reproduced in all copies, and that you add no other
2143conditions whatsoever to those of this License. You may not use
2144technical measures to obstruct or control the reading or further
2145copying of the copies you make or distribute. However, you may accept
2146compensation in exchange for copies. If you distribute a large enough
2147number of copies you must also follow the conditions in section 3.
2148</P><P>
2149
2150You may also lend copies, under the same conditions stated above, and
2151you may publicly display copies.
2152</P><P>
2153
2154<LI>
2155COPYING IN QUANTITY
2156<P>
2157
2158If you publish printed copies (or copies in media that commonly have
2159printed covers) of the Document, numbering more than 100, and the
2160Document's license notice requires Cover Texts, you must enclose the
2161copies in covers that carry, clearly and legibly, all these Cover
2162Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
2163the back cover. Both covers must also clearly and legibly identify
2164you as the publisher of these copies. The front cover must present
2165the full title with all words of the title equally prominent and
2166visible. You may add other material on the covers in addition.
2167Copying with changes limited to the covers, as long as they preserve
2168the title of the Document and satisfy these conditions, can be treated
2169as verbatim copying in other respects.
2170</P><P>
2171
2172If the required texts for either cover are too voluminous to fit
2173legibly, you should put the first ones listed (as many as fit
2174reasonably) on the actual cover, and continue the rest onto adjacent
2175pages.
2176</P><P>
2177
2178If you publish or distribute Opaque copies of the Document numbering
2179more than 100, you must either include a machine-readable Transparent
2180copy along with each Opaque copy, or state in or with each Opaque copy
2181a computer-network location from which the general network-using
2182public has access to download using public-standard network protocols
2183a complete Transparent copy of the Document, free of added material.
2184If you use the latter option, you must take reasonably prudent steps,
2185when you begin distribution of Opaque copies in quantity, to ensure
2186that this Transparent copy will remain thus accessible at the stated
2187location until at least one year after the last time you distribute an
2188Opaque copy (directly or through your agents or retailers) of that
2189edition to the public.
2190</P><P>
2191
2192It is requested, but not required, that you contact the authors of the
2193Document well before redistributing any large number of copies, to give
2194them a chance to provide you with an updated version of the Document.
2195</P><P>
2196
2197<LI>
2198MODIFICATIONS
2199<P>
2200
2201You may copy and distribute a Modified Version of the Document under
2202the conditions of sections 2 and 3 above, provided that you release
2203the Modified Version under precisely this License, with the Modified
2204Version filling the role of the Document, thus licensing distribution
2205and modification of the Modified Version to whoever possesses a copy
2206of it. In addition, you must do these things in the Modified Version:
2207</P><P>
2208
2209<OL>
2210<LI>
2211Use in the Title Page (and on the covers, if any) a title distinct
2212from that of the Document, and from those of previous versions
2213(which should, if there were any, be listed in the History section
2214of the Document). You may use the same title as a previous version
2215if the original publisher of that version gives permission.
2216<P>
2217
2218<LI>
2219List on the Title Page, as authors, one or more persons or entities
2220responsible for authorship of the modifications in the Modified
2221Version, together with at least five of the principal authors of the
2222Document (all of its principal authors, if it has fewer than five),
2223unless they release you from this requirement.
2224<P>
2225
2226<LI>
2227State on the Title page the name of the publisher of the
2228Modified Version, as the publisher.
2229<P>
2230
2231<LI>
2232Preserve all the copyright notices of the Document.
2233<P>
2234
2235<LI>
2236Add an appropriate copyright notice for your modifications
2237adjacent to the other copyright notices.
2238<P>
2239
2240<LI>
2241Include, immediately after the copyright notices, a license notice
2242giving the public permission to use the Modified Version under the
2243terms of this License, in the form shown in the Addendum below.
2244<P>
2245
2246<LI>
2247Preserve in that license notice the full lists of Invariant Sections
2248and required Cover Texts given in the Document's license notice.
2249<P>
2250
2251<LI>
2252Include an unaltered copy of this License.
2253<P>
2254
2255<LI>
2256Preserve the section Entitled "History", Preserve its Title, and add
2257to it an item stating at least the title, year, new authors, and
2258publisher of the Modified Version as given on the Title Page. If
2259there is no section Entitled "History" in the Document, create one
2260stating the title, year, authors, and publisher of the Document as
2261given on its Title Page, then add an item describing the Modified
2262Version as stated in the previous sentence.
2263<P>
2264
2265<LI>
2266Preserve the network location, if any, given in the Document for
2267public access to a Transparent copy of the Document, and likewise
2268the network locations given in the Document for previous versions
2269it was based on. These may be placed in the "History" section.
2270You may omit a network location for a work that was published at
2271least four years before the Document itself, or if the original
2272publisher of the version it refers to gives permission.
2273<P>
2274
2275<LI>
2276For any section Entitled "Acknowledgements" or "Dedications", Preserve
2277the Title of the section, and preserve in the section all the
2278substance and tone of each of the contributor acknowledgements and/or
2279dedications given therein.
2280<P>
2281
2282<LI>
2283Preserve all the Invariant Sections of the Document,
2284unaltered in their text and in their titles. Section numbers
2285or the equivalent are not considered part of the section titles.
2286<P>
2287
2288<LI>
2289Delete any section Entitled "Endorsements". Such a section
2290may not be included in the Modified Version.
2291<P>
2292
2293<LI>
2294Do not retitle any existing section to be Entitled "Endorsements" or
2295to conflict in title with any Invariant Section.
2296<P>
2297
2298<LI>
2299Preserve any Warranty Disclaimers.
2300</OL>
2301<P>
2302
2303If the Modified Version includes new front-matter sections or
2304appendices that qualify as Secondary Sections and contain no material
2305copied from the Document, you may at your option designate some or all
2306of these sections as invariant. To do this, add their titles to the
2307list of Invariant Sections in the Modified Version's license notice.
2308These titles must be distinct from any other section titles.
2309</P><P>
2310
2311You may add a section Entitled "Endorsements", provided it contains
2312nothing but endorsements of your Modified Version by various
2313parties--for example, statements of peer review or that the text has
2314been approved by an organization as the authoritative definition of a
2315standard.
2316</P><P>
2317
2318You may add a passage of up to five words as a Front-Cover Text, and a
2319passage of up to 25 words as a Back-Cover Text, to the end of the list
2320of Cover Texts in the Modified Version. Only one passage of
2321Front-Cover Text and one of Back-Cover Text may be added by (or
2322through arrangements made by) any one entity. If the Document already
2323includes a cover text for the same cover, previously added by you or
2324by arrangement made by the same entity you are acting on behalf of,
2325you may not add another; but you may replace the old one, on explicit
2326permission from the previous publisher that added the old one.
2327</P><P>
2328
2329The author(s) and publisher(s) of the Document do not by this License
2330give permission to use their names for publicity for or to assert or
2331imply endorsement of any Modified Version.
2332</P><P>
2333
2334<LI>
2335COMBINING DOCUMENTS
2336<P>
2337
2338You may combine the Document with other documents released under this
2339License, under the terms defined in section 4 above for modified
2340versions, provided that you include in the combination all of the
2341Invariant Sections of all of the original documents, unmodified, and
2342list them all as Invariant Sections of your combined work in its
2343license notice, and that you preserve all their Warranty Disclaimers.
2344</P><P>
2345
2346The combined work need only contain one copy of this License, and
2347multiple identical Invariant Sections may be replaced with a single
2348copy. If there are multiple Invariant Sections with the same name but
2349different contents, make the title of each such section unique by
2350adding at the end of it, in parentheses, the name of the original
2351author or publisher of that section if known, or else a unique number.
2352Make the same adjustment to the section titles in the list of
2353Invariant Sections in the license notice of the combined work.
2354</P><P>
2355
2356In the combination, you must combine any sections Entitled "History"
2357in the various original documents, forming one section Entitled
2358"History"; likewise combine any sections Entitled "Acknowledgements",
2359and any sections Entitled "Dedications". You must delete all
2360sections Entitled "Endorsements."
2361</P><P>
2362
2363<LI>
2364COLLECTIONS OF DOCUMENTS
2365<P>
2366
2367You may make a collection consisting of the Document and other documents
2368released under this License, and replace the individual copies of this
2369License in the various documents with a single copy that is included in
2370the collection, provided that you follow the rules of this License for
2371verbatim copying of each of the documents in all other respects.
2372</P><P>
2373
2374You may extract a single document from such a collection, and distribute
2375it individually under this License, provided you insert a copy of this
2376License into the extracted document, and follow this License in all
2377other respects regarding verbatim copying of that document.
2378</P><P>
2379
2380<LI>
2381AGGREGATION WITH INDEPENDENT WORKS
2382<P>
2383
2384A compilation of the Document or its derivatives with other separate
2385and independent documents or works, in or on a volume of a storage or
2386distribution medium, is called an "aggregate" if the copyright
2387resulting from the compilation is not used to limit the legal rights
2388of the compilation's users beyond what the individual works permit.
2389When the Document is included an aggregate, this License does not
2390apply to the other works in the aggregate which are not themselves
2391derivative works of the Document.
2392</P><P>
2393
2394If the Cover Text requirement of section 3 is applicable to these
2395copies of the Document, then if the Document is less than one half of
2396the entire aggregate, the Document's Cover Texts may be placed on
2397covers that bracket the Document within the aggregate, or the
2398electronic equivalent of covers if the Document is in electronic form.
2399Otherwise they must appear on printed covers that bracket the whole
2400aggregate.
2401</P><P>
2402
2403<LI>
2404TRANSLATION
2405<P>
2406
2407Translation is considered a kind of modification, so you may
2408distribute translations of the Document under the terms of section 4.
2409Replacing Invariant Sections with translations requires special
2410permission from their copyright holders, but you may include
2411translations of some or all Invariant Sections in addition to the
2412original versions of these Invariant Sections. You may include a
2413translation of this License, and all the license notices in the
2414Document, and any Warranty Disclaimers, provided that you also include
2415the original English version of this License and the original versions
2416of those notices and disclaimers. In case of a disagreement between
2417the translation and the original version of this License or a notice
2418or disclaimer, the original version will prevail.
2419</P><P>
2420
2421If a section in the Document is Entitled "Acknowledgements",
2422"Dedications", or "History", the requirement (section 4) to Preserve
2423its Title (section 1) will typically require changing the actual
2424title.
2425</P><P>
2426
2427<LI>
2428TERMINATION
2429<P>
2430
2431You may not copy, modify, sublicense, or distribute the Document except
2432as expressly provided for under this License. Any other attempt to
2433copy, modify, sublicense or distribute the Document is void, and will
2434automatically terminate your rights under this License. However,
2435parties who have received copies, or rights, from you under this
2436License will not have their licenses terminated so long as such
2437parties remain in full compliance.
2438</P><P>
2439
2440<LI>
2441FUTURE REVISIONS OF THIS LICENSE
2442<P>
2443
2444The Free Software Foundation may publish new, revised versions
2445of the GNU Free Documentation License from time to time. Such new
2446versions will be similar in spirit to the present version, but may
2447differ in detail to address new problems or concerns. See
2448<A HREF="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</A>.
2449</P><P>
2450
2451Each version of the License is given a distinguishing version number.
2452If the Document specifies that a particular numbered version of this
2453License "or any later version" applies to it, you have the option of
2454following the terms and conditions either of that specified version or
2455of any later version that has been published (not as a draft) by the
2456Free Software Foundation. If the Document does not specify a version
2457number of this License, you may choose any version ever published (not
2458as a draft) by the Free Software Foundation.
2459</OL>
2460<P>
2461
2462<HR SIZE="6">
2463<A NAME="SEC25"></A>
2464<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
2465<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC24"> &lt; </A>]</TD>
2466<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
2467<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &lt;&lt; </A>]</TD>
2468<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC24"> Up </A>]</TD>
2469<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
2470<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
2471<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
2472<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
2473<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
2474</TR></TABLE>
2475<H3> A.1.1 ADDENDUM: How to use this License for your documents </H3>
2476<!--docid::SEC25::-->
2477<P>
2478
2479To use this License in a document you have written, include a copy of
2480the License in the document and put the following copyright and
2481license notices just after the title page:
2482</P><P>
2483
2484<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
2485 Permission is granted to copy, distribute and/or modify this document
2486 under the terms of the GNU Free Documentation License, Version 1.2
2487 or any later version published by the Free Software Foundation;
2488 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
2489 A copy of the license is included in the section entitled ``GNU
2490 Free Documentation License''.
2491</FONT></pre></td></tr></table></P><P>
2492
2493If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
2494replace the "with...Texts." line with this:
2495</P><P>
2496
2497<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> with the Invariant Sections being <VAR>list their titles</VAR>, with
2498 the Front-Cover Texts being <VAR>list</VAR>, and with the Back-Cover Texts
2499 being <VAR>list</VAR>.
2500</FONT></pre></td></tr></table></P><P>
2501
2502If you have Invariant Sections without Cover Texts, or some other
2503combination of the three, merge those two alternatives to suit the
2504situation.
2505</P><P>
2506
2507If your document contains nontrivial examples of program code, we
2508recommend releasing these examples in parallel under your choice of
2509free software license, such as the GNU General Public License,
2510to permit their use in free software.
2511</P><P>
2512
2513<HR SIZE="6">
2514<A NAME="SEC_Contents"></A>
2515<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
2516<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
2517<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
2518<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
2519<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
2520</TR></TABLE>
2521<H1>Table of Contents</H1>
2522<UL>
2523<A NAME="TOC1" HREF="rluserman.html#SEC1">1. Command Line Editing</A>
2524<BR>
2525<UL>
2526<A NAME="TOC2" HREF="rluserman.html#SEC2">1.1 Introduction to Line Editing</A>
2527<BR>
2528<A NAME="TOC3" HREF="rluserman.html#SEC3">1.2 Readline Interaction</A>
2529<BR>
2530<UL>
2531<A NAME="TOC4" HREF="rluserman.html#SEC4">1.2.1 Readline Bare Essentials</A>
2532<BR>
2533<A NAME="TOC5" HREF="rluserman.html#SEC5">1.2.2 Readline Movement Commands</A>
2534<BR>
2535<A NAME="TOC6" HREF="rluserman.html#SEC6">1.2.3 Readline Killing Commands</A>
2536<BR>
2537<A NAME="TOC7" HREF="rluserman.html#SEC7">1.2.4 Readline Arguments</A>
2538<BR>
2539<A NAME="TOC8" HREF="rluserman.html#SEC8">1.2.5 Searching for Commands in the History</A>
2540<BR>
2541</UL>
2542<A NAME="TOC9" HREF="rluserman.html#SEC9">1.3 Readline Init File</A>
2543<BR>
2544<UL>
2545<A NAME="TOC10" HREF="rluserman.html#SEC10">1.3.1 Readline Init File Syntax</A>
2546<BR>
2547<A NAME="TOC11" HREF="rluserman.html#SEC11">1.3.2 Conditional Init Constructs</A>
2548<BR>
2549<A NAME="TOC12" HREF="rluserman.html#SEC12">1.3.3 Sample Init File</A>
2550<BR>
2551</UL>
2552<A NAME="TOC13" HREF="rluserman.html#SEC13">1.4 Bindable Readline Commands</A>
2553<BR>
2554<UL>
2555<A NAME="TOC14" HREF="rluserman.html#SEC14">1.4.1 Commands For Moving</A>
2556<BR>
2557<A NAME="TOC15" HREF="rluserman.html#SEC15">1.4.2 Commands For Manipulating The History</A>
2558<BR>
2559<A NAME="TOC16" HREF="rluserman.html#SEC16">1.4.3 Commands For Changing Text</A>
2560<BR>
2561<A NAME="TOC17" HREF="rluserman.html#SEC17">1.4.4 Killing And Yanking</A>
2562<BR>
2563<A NAME="TOC18" HREF="rluserman.html#SEC18">1.4.5 Specifying Numeric Arguments</A>
2564<BR>
2565<A NAME="TOC19" HREF="rluserman.html#SEC19">1.4.6 Letting Readline Type For You</A>
2566<BR>
2567<A NAME="TOC20" HREF="rluserman.html#SEC20">1.4.7 Keyboard Macros</A>
2568<BR>
2569<A NAME="TOC21" HREF="rluserman.html#SEC21">1.4.8 Some Miscellaneous Commands</A>
2570<BR>
2571</UL>
2572<A NAME="TOC22" HREF="rluserman.html#SEC22">1.5 Readline vi Mode</A>
2573<BR>
2574</UL>
2575<A NAME="TOC23" HREF="rluserman.html#SEC23">A. Copying This Manual</A>
2576<BR>
2577<UL>
2578<A NAME="TOC24" HREF="rluserman.html#SEC24">A.1 GNU Free Documentation License</A>
2579<BR>
2580<UL>
2581<A NAME="TOC25" HREF="rluserman.html#SEC25">A.1.1 ADDENDUM: How to use this License for your documents</A>
2582<BR>
2583</UL>
2584</UL>
2585</UL>
2586<HR SIZE=1>
2587<A NAME="SEC_OVERVIEW"></A>
2588<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
2589<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
2590<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
2591<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
2592<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
2593</TR></TABLE>
2594<H1>Short Table of Contents</H1>
2595<BLOCKQUOTE>
2596<A NAME="TOC1" HREF="rluserman.html#SEC1">1. Command Line Editing</A>
2597<BR>
2598<A NAME="TOC23" HREF="rluserman.html#SEC23">A. Copying This Manual</A>
2599<BR>
2600
2601</BLOCKQUOTE>
2602<HR SIZE=1>
2603<A NAME="SEC_About"></A>
2604<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
2605<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
2606<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Contents">Contents</A>]</TD>
2607<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
2608<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
2609</TR></TABLE>
2610<H1>About this document</H1>
2611This document was generated by <I>Chet Ramey</I> on <I>July, 27 2004</I>
2612using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
2613"><I>texi2html</I></A>
2614<P></P>
2615The buttons in the navigation panels have the following meaning:
2616<P></P>
2617<table border = "1">
2618<TR>
2619<TH> Button </TH>
2620<TH> Name </TH>
2621<TH> Go to </TH>
2622<TH> From 1.2.3 go to</TH>
2623</TR>
2624<TR>
2625<TD ALIGN="CENTER">
2626 [ &lt; ] </TD>
2627<TD ALIGN="CENTER">
2628Back
2629</TD>
2630<TD>
2631previous section in reading order
2632</TD>
2633<TD>
26341.2.2
2635</TD>
2636</TR>
2637<TR>
2638<TD ALIGN="CENTER">
2639 [ &gt; ] </TD>
2640<TD ALIGN="CENTER">
2641Forward
2642</TD>
2643<TD>
2644next section in reading order
2645</TD>
2646<TD>
26471.2.4
2648</TD>
2649</TR>
2650<TR>
2651<TD ALIGN="CENTER">
2652 [ &lt;&lt; ] </TD>
2653<TD ALIGN="CENTER">
2654FastBack
2655</TD>
2656<TD>
2657previous or up-and-previous section
2658</TD>
2659<TD>
26601.1
2661</TD>
2662</TR>
2663<TR>
2664<TD ALIGN="CENTER">
2665 [ Up ] </TD>
2666<TD ALIGN="CENTER">
2667Up
2668</TD>
2669<TD>
2670up section
2671</TD>
2672<TD>
26731.2
2674</TD>
2675</TR>
2676<TR>
2677<TD ALIGN="CENTER">
2678 [ &gt;&gt; ] </TD>
2679<TD ALIGN="CENTER">
2680FastForward
2681</TD>
2682<TD>
2683next or up-and-next section
2684</TD>
2685<TD>
26861.3
2687</TD>
2688</TR>
2689<TR>
2690<TD ALIGN="CENTER">
2691 [Top] </TD>
2692<TD ALIGN="CENTER">
2693Top
2694</TD>
2695<TD>
2696cover (top) of document
2697</TD>
2698<TD>
2699 &nbsp;
2700</TD>
2701</TR>
2702<TR>
2703<TD ALIGN="CENTER">
2704 [Contents] </TD>
2705<TD ALIGN="CENTER">
2706Contents
2707</TD>
2708<TD>
2709table of contents
2710</TD>
2711<TD>
2712 &nbsp;
2713</TD>
2714</TR>
2715<TR>
2716<TD ALIGN="CENTER">
2717 [Index] </TD>
2718<TD ALIGN="CENTER">
2719Index
2720</TD>
2721<TD>
2722concept index
2723</TD>
2724<TD>
2725 &nbsp;
2726</TD>
2727</TR>
2728<TR>
2729<TD ALIGN="CENTER">
2730 [ ? ] </TD>
2731<TD ALIGN="CENTER">
2732About
2733</TD>
2734<TD>
2735this page
2736</TD>
2737<TD>
2738 &nbsp;
2739</TD>
2740</TR>
2741</TABLE>
2742<P></P>
2743where the <STRONG> Example </STRONG> assumes that the current position
2744is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
2745the following structure:
2746<UL>
2747<LI> 1. Section One </LI>
2748<UL>
2749<LI>1.1 Subsection One-One</LI>
2750<UL>
2751<LI> ... </LI>
2752</UL>
2753<LI>1.2 Subsection One-Two</LI>
2754<UL>
2755<LI>1.2.1 Subsubsection One-Two-One
2756</LI><LI>1.2.2 Subsubsection One-Two-Two
2757</LI><LI>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp; <STRONG>
2758&lt;== Current Position </STRONG>
2759</LI><LI>1.2.4 Subsubsection One-Two-Four
2760</LI></UL>
2761<LI>1.3 Subsection One-Three</LI>
2762<UL>
2763<LI> ... </LI>
2764</UL>
2765<LI>1.4 Subsection One-Four</LI>
2766</UL>
2767</UL>
2768
2769<HR SIZE=1>
2770<BR>
2771<FONT SIZE="-1">
2772This document was generated
2773by <I>Chet Ramey</I> on <I>July, 27 2004</I>
2774using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
2775"><I>texi2html</I></A>
2776
2777</BODY>
2778</HTML>