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