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