<html lang="en">
<head>
<title>Searching - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Readline-Interaction.html#Readline-Interaction" title="Readline Interaction">
<link rel="prev" href="Readline-Arguments.html#Readline-Arguments" title="Readline Arguments">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Searching"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Readline-Arguments.html#Readline-Arguments">Readline Arguments</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Readline-Interaction.html#Readline-Interaction">Readline Interaction</a>
<hr>
</div>

<h4 class="subsection">31.2.5 Searching for Commands in the History</h4>

<p>Readline provides commands for searching through the command history
for lines containing a specified string. 
There are two search modes:  <dfn>incremental</dfn> and <dfn>non-incremental</dfn>.

   <p>Incremental searches begin before the user has finished typing the
search string. 
As each character of the search string is typed, Readline displays
the next entry from the history matching the string typed so far. 
An incremental search requires only as many characters as needed to
find the desired history entry. 
To search backward in the history for a particular string, type
<kbd>C-r</kbd>.  Typing <kbd>C-s</kbd> searches forward through the history. 
The characters present in the value of the <code>isearch-terminators</code> variable
are used to terminate an incremental search. 
If that variable has not been assigned a value, the &lt;ESC&gt; and
<kbd>C-J</kbd> characters will terminate an incremental search. 
<kbd>C-g</kbd> will abort an incremental search and restore the original line. 
When the search is terminated, the history entry containing the
search string becomes the current line.

   <p>To find other matching entries in the history list, type <kbd>C-r</kbd> or
<kbd>C-s</kbd> as appropriate. 
This will search backward or forward in the history for the next
entry matching the search string typed so far. 
Any other key sequence bound to a Readline command will terminate
the search and execute that command. 
For instance, a &lt;RET&gt; will terminate the search and accept
the line, thereby executing the command from the history list. 
A movement command will terminate the search, make the last line found
the current line, and begin editing.

   <p>Readline remembers the last incremental search string.  If two
<kbd>C-r</kbd>s are typed without any intervening characters defining a new
search string, any remembered search string is used.

   <p>Non-incremental searches read the entire search string before starting
to search for matching history lines.  The search string may be
typed by the user or be part of the contents of the current line.

   </body></html>

