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