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