File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / readline / doc / rluserman.html
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 01:01:01 2021 UTC (3 years, 3 months ago) by misho
Branches: readline, MAIN
CVS tags: v8_2p0, v8_1p0, HEAD
readline 8.1

    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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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"> &lt; </A>]</TD>
   51: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC2"> &gt; </A>]</TD>
   52: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</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"> &gt;&gt; </A>]</TD>
   55: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
   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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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"> &lt; </A>]</TD>
   85: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC3"> &gt; </A>]</TD>
   86: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</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"> &gt;&gt; </A>]</TD>
   89: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
   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"> &lt; </A>]</TD>
  144: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC4"> &gt; </A>]</TD>
  145: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  148: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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"> &lt; </A>]</TD>
  183: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC5"> &gt; </A>]</TD>
  184: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  187: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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"> &lt; </A>]</TD>
  245: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC6"> &gt; </A>]</TD>
  246: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC6"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  249: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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"> &lt; </A>]</TD>
  289: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC7"> &gt; </A>]</TD>
  290: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC7"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  293: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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"> &lt; </A>]</TD>
  374: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC8"> &gt; </A>]</TD>
  375: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC8"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  378: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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"> &lt; </A>]</TD>
  409: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &gt; </A>]</TD>
  410: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC9"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  413: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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"> &lt; </A>]</TD>
  471: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC10"> &gt; </A>]</TD>
  472: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  475: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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"> &lt; </A>]</TD>
  524: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC11"> &gt; </A>]</TD>
  525: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
  528: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
  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>&nbsp;</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>&nbsp;</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>&nbsp;</td><td class=example><pre>Control-u: universal-argument
 1008: Meta-Rubout: backward-kill-word
 1009: Control-o: "&#62; 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>`&#62; 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>&nbsp;</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>&nbsp;</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"> &lt; </A>]</TD>
 1128: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC12"> &gt; </A>]</TD>
 1129: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC12"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1132: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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>`&#60;='</SAMP>, <SAMP>`&#62;='</SAMP>, <SAMP>`&#60;'</SAMP>,
 1182: and <SAMP>`&#62;'</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>&nbsp;</td><td class=example><pre>$if version &#62;= 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>&nbsp;</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>&nbsp;</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>&nbsp;</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"> &lt; </A>]</TD>
 1250: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &gt; </A>]</TD>
 1251: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC13"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1254: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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>&nbsp;</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"> &lt; </A>]</TD>
 1373: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC14"> &gt; </A>]</TD>
 1374: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1377: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</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"> &lt; </A>]</TD>
 1414: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC15"> &gt; </A>]</TD>
 1415: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1418: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 1513: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC16"> &gt; </A>]</TD>
 1514: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC16"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1517: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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-&#60;)</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-&#62;)</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"> &lt; </A>]</TD>
 1685: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC17"> &gt; </A>]</TD>
 1686: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC17"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1689: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 1836: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC18"> &gt; </A>]</TD>
 1837: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC18"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1840: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 1976: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC19"> &gt; </A>]</TD>
 1977: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC19"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 1980: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 2019: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC20"> &gt; </A>]</TD>
 2020: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC20"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 2023: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 2100: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC21"> &gt; </A>]</TD>
 2101: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC21"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 2104: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 2148: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &gt; </A>]</TD>
 2149: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC22"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
 2152: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 2314: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC23"> &gt; </A>]</TD>
 2315: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</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"> &gt;&gt; </A>]</TD>
 2318: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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"> &lt; </A>]</TD>
 2352: <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
 2353: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC1"> &lt;&lt; </A>]</TD>
 2354: <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top"> Up </A>]</TD>
 2355: <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
 2356: <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_Top">Top</A>]</TD>
 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>&nbsp;</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>&nbsp;</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>&nbsp;</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:  [ &lt; ] </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:  [ &gt; ] </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:  [ &lt;&lt; ] </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:  [ &gt;&gt; ] </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:  &nbsp; 
 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:  &nbsp; 
 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:  &nbsp; 
 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:  &nbsp; 
 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 &nbsp; &nbsp; <STRONG>
 3175: &lt;== 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>