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